Algorithms

RIPEMD-128

The four-round RIPEMD from 1996 with a 16-byte digest. Too short for new designs and it has HMAC
IDripemd12826 / 38RIPEMD · 128-bit
Hash / Legacy

RIPEMD-128

Four rounds and 16 bytes, too short today.

Digest
128-bit · 16 bytes
HMAC
takes a key
Security
64-bit collision resistance
Family
5 in RIPEMD
4 options, 0 required

Sample

hex
c52ac4d06245286b33953957be6c6f81
base64
xSrE0GJFKGszlTlXvmxvgQ==

Options

encodingstring
default hex
Output encoding: hex, base64, base64url, binary
keystring
optional
HMAC key; enables HMAC mode
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("ripemd128")
CLIhashes ripemd128 'hello world'
Tryplayground with the sample above
Kinripemd160, ripemd320, hash160, ripemd256

RIPEMD-160 cut down. Two parallel lines like its big sibling, but four rounds instead of five, four words instead of five, and no rotation by 10. Dobbertin, Bosselaers and Preneel published both in 1996, this one as a replacement for the original RIPEMD.

ts
create("ripemd128").hash("abc").digest; // "c14a12199c66e4ba84636b0f69144c77"

Is it broken? Not like MD5. But 16 bytes buy 64-bit collision resistance, and that's a budget a determined attacker can spend. So it sits under legacy. Old formats, old papers, and the odd puzzle that likes obscure hashes.

Need 32 bytes from the same lines? That's RIPEMD-256, and it's not any stronger.