@axetroy/wasm-hasher
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

computed data hash by webAssembly

Support md5/sha1/sha224/sha256/sha512/sm3/ripemd/tiger/whirlpool/blake

Build Status

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 use 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

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 npm version
@axetroy/wasm-hasher-md5 npm version
@axetroy/wasm-hasher-sha1 npm version
@axetroy/wasm-hasher-sha2 npm version
@axetroy/wasm-hasher-sha3 npm version
@axetroy/wasm-hasher-sm3 npm version
@axetroy/wasm-hasher-ripemd npm version
@axetroy/wasm-hasher-tiger npm version
@axetroy/wasm-hasher-whirlpool npm version
@axetroy/wasm-hasher-blake npm version

🛠️ Build from source

Make sure you have install rust^1.69 and wasm-pack

make

License

Anti-996

/@axetroy/wasm-hasher/

    Package Sidebar

    Install

    npm i @axetroy/wasm-hasher

    Weekly Downloads

    1

    Version

    0.1.3

    License

    Anti-996

    Unpacked Size

    251 kB

    Total Files

    7

    Last publish

    Collaborators

    • axetroy