@axetroy/wasm-hasher
v0.1.3
Published
computed data hash by webAssembly support md5,sha1,sha2,sha3,sm3,ripemd
Downloads
9
Maintainers
Readme
Support 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
- Hash process can be interrupted with
AbortSignal
- The exposed function can specify the chunks size for each read. Larger chunks use more CPU.
onProgress
callback is optional. Set tonull
to improve performance if you don't need it.- separate packages, smaller wasm files
Usage
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);
🚴 Installation
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
Packages
| 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 | |
🛠️ Build from source
Make sure you have install rust^1.69 and wasm-pack
make