RIPEMD-160 hash generator
Type text or paste hex bytes to get the 160-bit RIPEMD-160 digest as 40 hex digits. Switch to HASH160 to hash the SHA-256 of the input first — the step that turns a Bitcoin public key into the 20 bytes inside an address.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Type text, or paste hex bytes and set Input as to Hex bytes (spaces, colons and 0x are ignored).
- Choose RIPEMD-160, or HASH160 to hash the SHA-256 digest of the input.
- Copy the 40-digit hex hash; tick Uppercase hex if your system expects capitals.
How it works
RIPEMD-160 pads the message to a multiple of 64 bytes (a 1 bit, zeros, then the length in bits) and processes each 64-byte block with two parallel lines of 80 steps. Each line mixes the sixteen 32-bit words of the block with bitwise functions, rotations and constants; at the end of the block the two lines are combined into five 32-bit state words. The final state, written little-endian, is the 20-byte digest.
The tool is checked against the authors’ test vectors: the empty string gives 9c1185a5c5e9fc54612808977ee8f548b2258d31, and “message digest” gives 5d0689ef49d2fae572b881b123a85ffa21595f36.
Worked example
The text abc (bytes 61 62 63) hashes to:
8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
Typing 616263 with Input as Hex bytes gives the same digest, because the bytes are the same.
Tips
- A Bitcoin address also needs a version byte and a checksum (Base58Check) or Bech32 encoding on top of HASH160; this tool gives the 20-byte hash itself.
- Hashes are case-insensitive hex: 8EB2… and 8eb2… are the same value.
- For MD5, SHA-1 and SHA-256 use the hash generator; for SHA-3 and Keccak, the SHA-3 hash generator.
Frequently asked questions
What is RIPEMD-160?
A cryptographic hash function from 1996 by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. It turns any input into a 160-bit (20-byte) digest. It is best known from Bitcoin, where public keys and scripts are shortened with it, and from some PGP and certificate tools.
What is HASH160?
HASH160(x) = RIPEMD-160(SHA-256(x)). Bitcoin applies it to a public key to get the 20-byte key hash of a P2PKH or P2WPKH address. For the compressed public key 0279BE66…F81798 (private key 1) it gives 751e76e8199196d454941c45d1b3a323f1433bd6. Choose Hex bytes as the input, since keys are bytes, not text.
Why do I get a different hash than another site?
Check what is being hashed. Text is hashed as its UTF-8 bytes, so a trailing space or line break changes the result. A hex string typed as text is hashed as characters, not as the bytes it spells — switch Input as to Hex bytes for that.
Is RIPEMD-160 still safe?
No practical collision or preimage attack on the full RIPEMD-160 is known. Its 160-bit output gives only about 80 bits of collision resistance, though, so new designs usually choose SHA-256 or SHA-3.