Algorithms

RIPEMD-256

RIPEMD-128 with both lines kept apart for 32 bytes. Exactly as strong as RIPEMD-128 by design and it has HMAC
IDripemd25627 / 38RIPEMD · 256-bit
Hash / Legacy

RIPEMD-256

RIPEMD-128 at 32 bytes, and not a bit stronger.

Digest
256-bit · 32 bytes
HMAC
takes a key
Security
No stronger than RIPEMD-128: the wider digest adds no collision resistance
Family
5 in RIPEMD
4 options, 0 required

Sample

hex
0d375cf9d9ee95a3bb15f757c81e93bb0ad963edf69dc4d12264031814608e37
base64
DTdc+dnulaO7FfdXyB6TuwrZY+32ncTRImQDGBRgjjc=

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("ripemd256")
CLIhashes ripemd256 'hello world'
Tryplayground with the sample above
Kinripemd160, ripemd320, hash160, ripemd128

RIPEMD-128 with its two lines kept apart. Each line starts from its own values, they swap one word after every round, and both end up in the digest. Same trick as RIPEMD-320 plays on RIPEMD-160.

ts
create("ripemd256").hash("abc").digest;
// "afbd6e228b9d8cbbcef5ca2d03e6dba10ac0bc7dcbe4680e1e42d2e975459b65"

32 bytes, so 128-bit collision resistance? Nope. The authors built it for a longer result, not more security, so it's as strong as RIPEMD-128. The extra bytes are for formats that want them. It looks like SHA-256 at a glance and has nothing of it inside.

That's why it's filed under legacy, right next to the hash it widens.