# Daninet/hash-wasm

Lightning fast hash functions using hand-tuned WebAssembly binaries

Repository: https://github.com/Daninet/hash-wasm
Canonical: https://ross.abutalabs.com/products/hash-wasm
Homepage: https://npmjs.com/package/hash-wasm
Language: TypeScript
License: NOASSERTION
License Family: other
Topics: wasm, webassembly, hash, md5, javascript, browser, fast, typescript, sha1, sha256, sha512, sha3, xxhash, keccak, argon2, pbkdf2, hmac, scrypt, bcrypt, sm3
Last push: 2024-11-19T18:59:13+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2336, "days_push": 652, "days_rel": 652, "gap_med": null, "n_releases_24m": 1}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1152, forks 64 (observed 2026-08-28T04:03:47.271534+00:00)

## What it is
hash-wasm is a fast hash function library for browsers and Node.js implemented with hand-tuned WebAssembly binaries. It supports a wide range of algorithms including MD5, SHA-1/2/3, Keccak, BLAKE2/3, xxHash, CRC, and key derivation functions like Argon2, bcrypt, scrypt, and PBKDF2.

## Use cases
- compute md5 or sha256 checksums of files in the browser
- hash passwords with argon2 or bcrypt in nodejs
- calculate fast non-cryptographic hashes with xxhash for hash tables
- generate crc32 checksums for data integrity checks
- derive keys with pbkdf2 or scrypt in javascript
- compute blake3 hashes faster than pure js implementations
- hash data in web workers without native dependencies

## When to choose
- you need hash functions in both browser and Node.js with one library
- pure JavaScript hash implementations are too slow for your workload
- you need many hash algorithms behind a single consistent API
- you want small per-algorithm bundle sizes
- you need password hashing (argon2, bcrypt, scrypt) without native modules

## When to avoid
- you need hardware-accelerated hashing via native code (e.g. OpenSSL bindings)
- you only need one hash and a tiny native or built-in option exists (e.g. Node crypto)
- your environment cannot load WebAssembly
- you need streaming hashes over very large files with minimal memory in constrained environments

## Facets
- artifact type: library
- maturity: stable
- function: cryptography, security, developer-tools
- domain: security, web-development, developer-tools, cross-platform
- platform: browser, wasm, cross-platform
- tags: hash-functions, webassembly, md5, sha256, sha3, blake3, argon2, bcrypt, scrypt, pbkdf2, hmac, xxhash, crc32, keccak, sm3, typescript, password-hashing, checksum, nodejs

## Member repositories
- Daninet/hash-wasm (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:47.271534+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:33:30.674870+00:00, confidence not recorded.
  - readme: https://github.com/Daninet/hash-wasm (fetched 2026-08-28T04:03:47.271534+00:00, sha 7ff87ef6a804)
  - registry_npm: https://registry.npmjs.org/hash-wasm (fetched 2026-08-29T12:38:25.498923+00:00, sha f50b5ffca4c1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
