Algorithms

BLAKE2b

BLAKE2b at 64 bytes with HMAC. Fast and unbroken and inside Argon2
IDblake2b08 / 24cryptographic · 512-bit
Hash / Cryptographic

BLAKE2b

Fast, unbroken, and what Argon2 runs on.

Digest
512-bit · 64 bytes
HMAC
takes a key
Security
256-bit collision resistance
Family
16 in cryptographic
2 options, 0 required

Sample

hex
021ced8799296ceca557832ab941a50b4a11f83478cf141f51f933f653ab9fbcc05a037cddbed06e309bf334942c4e58cdf1a46e237911ccd7fcf9787cbc7fd0
base64
Ahzth5kpbOylV4MquUGlC0oR+DR4zxQfUfkz9lOrn7zAWgN83b7QbjCb8zSULE5YzfGkbiN5EczX/Pl4fLx/0A==

Options

encodingstring
default hex
Output encoding: hex, base64, base64url, binary
keystring
optional
HMAC key; enables HMAC mode

Access

Createcreate("blake2b")
CLIhashes blake2b 'hello world'
Tryplayground with the sample above
Kinsha256, sha384, sha512, sha512-half +11

BLAKE2 for 64-bit machines, at its full 64 bytes. It came out of the SHA-3 competition's BLAKE and got faster instead of slower, which is rare. Argon2 runs on it. WireGuard went with its 32-bit sibling, BLAKE2s.

ts
create("blake2b").hash("abc").digest;
// "ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923"

HMAC here is real HMAC over BLAKE2b's blocks. BLAKE2's own keyed mode is a different construction with different output, and the package doesn't implement it.

The shorter variants are separate algorithms, see BLAKE2b-256.