mc-file-hash-wasm
v0.1.2
Published
Fast MD5 hash for file deduplication using first 4MB + file size (WASM)
Maintainers
Readme
file-hash-wasm
快速计算文件 MD5 哈希的 WASM 模块,用于非严格去重场景。
特性
- 只读取文件前 4MB + 文件大小进行 MD5 计算,避免读取完整大文件
- 支持 Node.js 和浏览器双环境
- Rust + WASM 实现,性能优异
- 支持单文件和批量处理
安装
npm install file-hash-wasm使用
Node.js
const { calculate_md5, calculate_md5_batch } = require('file-hash-wasm');
// 单文件
const hash = await calculate_md5('/path/to/file.mp4');
console.log(hash); // "abc123..."
// 批量处理(并发读取)
const map = await calculate_md5_batch([
'/path/to/file1.mp4',
'/path/to/file2.mp4'
]);
// Map { '/path/to/file1.mp4' => 'abc123...', ... }浏览器
import { calculate_md5, calculate_md5_batch } from 'file-hash-wasm';
// 单文件(File 对象)
const hash = await calculate_md5(fileInput.files[0]);
// 批量处理
const files = [...fileInput.files];
const map = await calculate_md5_batch(files);工作原理
为了快速去重大文件,本模块只读取:
- 文件前 4MB 内容
- 文件总大小(字节)
两者组合计算 MD5,在大多数场景下足以区分不同文件,同时避免读取完整文件的开销。
License
MIT
