{"adoption": {"forks": 64, "observed_at": "2026-08-28T04:03:47.271534+00:00", "stars": 1152}, "canonical_url": "https://ross.abutalabs.com/products/hash-wasm", "card": {"archived": false, "artifact_type": "library", "description": "Lightning fast hash functions using hand-tuned WebAssembly binaries", "domain": ["security", "web-development", "developer-tools", "cross-platform"], "enriched": true, "function": ["cryptography", "security", "developer-tools"], "health_score": 30, "homepage": "https://npmjs.com/package/hash-wasm", "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["Daninet/hash-wasm"], "name": "Daninet/hash-wasm", "platform": ["browser", "wasm", "cross-platform"], "pushed_at": "2024-11-19T18:59:13+00:00", "repo": "Daninet/hash-wasm", "stars": 1152, "tags": ["hash-functions", "webassembly", "md5", "sha256", "sha3", "blake3", "argon2", "bcrypt", "scrypt", "pbkdf2", "hmac", "xxhash", "crc32", "keccak", "sm3", "typescript", "password-hashing", "checksum", "nodejs"], "topics": ["wasm", "webassembly", "hash", "md5", "javascript", "browser", "fast", "typescript", "sha1", "sha256", "sha512", "sha3", "xxhash", "keccak", "argon2", "pbkdf2", "hmac", "scrypt", "bcrypt", "sm3"], "urls": [], "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"], "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.", "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"], "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"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hash-wasm", "repo": "Daninet/hash-wasm", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:47.271534+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:33:30.674870+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7ff87ef6a80445d018511f278511ba4e5bccfff28832561b8b9e703c61d86be9", "fetched_at": "2026-08-28T04:03:47.271534+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Daninet/hash-wasm"}, {"content_hash": "f50b5ffca4c195405322aa706373fe3dd312ea84393fa8f32497ea32931779f1", "fetched_at": "2026-08-29T12:38:25.498923+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/hash-wasm"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2336, "days_push": 652, "days_rel": 652, "gap_med": null, "n_releases_24m": 1}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}