computed data hash by webAssembly support md5,sha1,sha2,sha3,sm3,ripemd
npm install @axetroy/wasm-hasher
computed data hash by webAssemblySupport md5/sha1/sha224/sha256/sha512/sm3/ripemd/tiger/whirlpool/blake
Built with 🦀🕸 and inspired by github.com/fuyoo/wasm-hasher
The difference with github.com/fuyoo/wasm-hasher
1. Hash process can be interrupted with AbortSignal
2. The exposed function can specify the chunks size for each read. Larger chunks consume more CPU.
3. onProgress callback is optional. Set to null to improve performance if you don't need it.
4. separate packages, smaller wasm files
``js
import * as hasher from "@axetroy/wasm-hasher";
const controller = new AbortController();
const file = new Blob([], { type: "application/text" });
const md5 = await hasher.md5(
controller.signal,
file,
1024 1024 10,
(progress) => {
console.log("hash progress");
}
);
console.log(md5);
`
`bash`
npm install @axetroy/wasm-hasher
npm install @axetroy/wasm-hasher-md5
npm install @axetroy/wasm-hasher-sha1
npm install @axetroy/wasm-hasher-sha2
npm install @axetroy/wasm-hasher-sha3
npm install @axetroy/wasm-hasher-sm3
npm install @axetroy/wasm-hasher-ripemd
npm install @axetroy/wasm-hasher-tiger
npm install @axetroy/wasm-hasher-whirlpool
npm install @axetroy/wasm-hasher-blake
| Package | Version |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| @axetroy/wasm-hasher |  |
| @axetroy/wasm-hasher-md5 |  |
| @axetroy/wasm-hasher-sha1 |  |
| @axetroy/wasm-hasher-sha2 |  |
| @axetroy/wasm-hasher-sha3 |  |
| @axetroy/wasm-hasher-sm3 |  |
| @axetroy/wasm-hasher-ripemd |  |
| @axetroy/wasm-hasher-tiger |  |
| @axetroy/wasm-hasher-whirlpool |  |
| @axetroy/wasm-hasher-blake |  |
Make sure you have install rust^1.69 and wasm-pack
`bash``
make