Algorithms

BLAKE2b-224

BLAKE2b with a 28-byte output. Cardano's hash of payment and stake keys and scripts
IDblake2b-22413 / 46BLAKE · 224-bit
Hash / Cryptographic

BLAKE2b-224

BLAKE2b at 28 bytes, for keys and scripts.

Digest
224-bit · 28 bytes
HMAC
no key mode
Security
112-bit collision resistance
Used by
Cardano
3 options, 0 required

Sample

hex
42d1854b7d69e3b57c64fcc7b4f64171b47dff43fba6ac0499ff437f
base64
QtGFS31p47V8ZPzHtPZBcbR9/0P7pqwEmf9Dfw==

Options

encodingstring
default hex
Output encoding: hex, base64, base64url, binary
roundsnumber
default 1
How many times to hash, each round hashing the previous digest
chainstring
default bytes
What each round after the first hashes: bytes of the digest, or its lowercase hex

Access

Createcreate("blake2b-224")
CLIhashes blake2b-224 'hello world'
Tryplayground with the sample above
Kinblake2b, blake2b-256, blake2s, blake3 +1

The 28-byte BLAKE2b behind Cardano's addresses: payment key hashes, stake key hashes, script hashes. Like BLAKE2b-256, the length is part of the computation, not a cut afterwards.

ts
create("blake2b-224").hash("").digest;
// "836cc68931c2e4e3e838602eca1902591d216837bafddfe6f0c8cb07"

Hash the key's bytes, so a key you hold as hex goes in through Uint8Array.fromHex or inputEncoding: "hex". No HMAC mode.