What is RIPEMD-160?
RIPEMD-160 is a 160-bit cryptographic hash function from the European RIPE project. It produces a fixed 20-byte digest — forty hexadecimal characters — and was one of the first credible non-American hash designs, published to give European standards bodies an alternative to the NSA-authored SHA family.
The two-line construction
RIPEMD-160 processes 512-bit blocks with ten rounds of 16 steps — five rounds in a left line and five in a right line that apply the same boolean functions but traverse the message words in different orders. The two 160-bit states are then combined by addition along with the previous chaining value. This parallel, symmetric design is the main reason collisions have stayed out of reach for the full 80 steps.
Role in cryptocurrency
RIPEMD-160's best-known job is Bitcoin address derivation. A compressed public key is hashed with SHA-256, then the digest is hashed again with RIPEMD-160 to yield the 160-bit hash — an intentional double-hash that both shortens the address and sidesteps any hypothetical weakness in a single hash. Legacy and P2SH addresses are then base58check-encoded (with a version byte and checksum), which is how a 160-bit hash becomes the familiar 27–34 character address.
Security status
More than 25 years of analysis have produced no practical collision attack on the full RIPEMD-160, and it appeared to gain from the same Hamming-weight arguments used against SHA-1. However, at 160 bits its collision resistance is only 80 bits against modern brute-force bounds, and it was not formally standardized (no FIPS part). It remains acceptable where a protocol — such as Bitcoin — already locks it in; it is not first choice for new designs.
How this tool works
RIPEMD-160 is not exposed by the Web Crypto API, so this page uses the hash-wasm
WebAssembly build. The WASM module loads once and is reused for every digest via
init(), making repeated hashing effectively instant. Input is decoded locally (UTF-8,
hex, or Base64), hashed on-device, and never leaves your machine.
Worked examples you can verify right now
| Input | RIPEMD-160 digest |
|---|---|
(empty string) | 9c1185a5c5e9fc54612808977ee8f548b2258d31 |
hello world | 98c615784ccb5fe5936fbc0cbe9dfdb408d92f0f |
The quick brown fox jumps over the lazy dog | 37f332f68db77bd9d7edd4969571ad671cf9dd3b |
Re-type any row above (matching the UTF-8 bytes exactly, including the period in the fox sentence) and this tool returns precisely these 40-character digests.