Algorithms
BLAKE3
A Merkle tree of 1 KiB chunks with a 32-byte digest. Absurdly fast and no HMAC mode
Hash / Cryptographic
BLAKE3
A Merkle tree of chunks, absurdly fast.
- Digest
- 256-bit · 32 bytes
- HMAC
- no key mode
- Security
- 128-bit security against collisions and preimages
- Family
- 16 in cryptographic
1 option, 0 required
Sample
- hex
- d74981efa70a0c880b8d8c1985d075dbcbf679b99a5f9914e5aaf96b831a9e24
- base64
- 10mB76cKDIgLjYwZhdB128v2ebmaX5kU5ar5a4ManiQ=
Options
Access
- Create
create("blake3") - CLI
hashes blake3 'hello world' - Tryplayground with the sample above
- Kinsha256, sha384, sha512, sha512-half +11
BLAKE3 splits the input into 1 KiB chunks, hashes them as leaves of a binary tree and compresses its way up to one root. The tree is what makes it parallel, and why it runs so fast on large inputs. This implementation is plain TypeScript and checked against the reference blake3 on 285 input lengths up to 1 MiB, so it's right. It isn't SIMD fast, though.
create("blake3").hash("").digest;
// "af1349b9f5f9a1a6a0404dea36dcc9499bcb25c9adc112b7cc9a93cae41f3262"
create("blake3").hash("abc").digest;
// "6437b3ac38465133ffb63b75273a8db548c558465d79db03fd359c6cd5bd9d85"
No HMAC. BLAKE3 has its own keyed mode, which isn't HMAC and isn't here, so a key is refused instead of quietly ignored.