Algorithms

BLAKE2s

BLAKE2 for 32-bit platforms with a 32-byte digest and HMAC. Smaller state than BLAKE2b and inside WireGuard
IDblake2s11 / 24cryptographic · 256-bit
Hash / Cryptographic

BLAKE2s

BLAKE2 for 32-bit machines.

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

Sample

hex
9aec6806794561107e594b1f6a8a6b0c92a0cba9acf5e5e93cca06f781813b0b
base64
muxoBnlFYRB+WUsfaoprDJKgy6ms9eXpPMoG94GBOws=

Options

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

Access

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

BLAKE2 on 32-bit words, for the microcontrollers and 32-bit targets where BLAKE2b's 64-bit arithmetic hurts. On a desktop CPU BLAKE2b is usually the faster one.

ts
create("blake2s").hash("abc").digest;
// "508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982"

WireGuard picked this one. HMAC works here too, over BLAKE2s's 64-byte blocks.