RIPEMD Hash Generator

High‑performance RIPEMD-160 hash computation for data integrity, digital signatures, and blockchain applications. Supports text and file input, real‑time hashing, and precise hex output. Used by Bitcoin, PGP, and cryptographic standards.

UTF‑8 encoding is used. Generate 40‑character (160‑bit) RIPEMD‑160 fingerprint.
Max 50 MB. Computes hash of the raw binary content.
Offline & private: All computations are performed locally inside your browser. Files or text never leave your device.

RIPEMD-160: Cryptographic Hash Function Explained

RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest) is a cryptographic hash function designed in the mid‑1990s by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel, as part of the European RIPE project. It produces a 160‑bit (20‑byte) hash value, typically rendered as a 40‑digit hexadecimal number. RIPEMD‑160 was developed as an improved version of RIPEMD (128‑bit) after cryptanalytic breakthroughs, offering stronger security margins against collision attacks.

Technical internals: RIPEMD‑160 uses the Merkle–Damgård construction, processes 512‑bit blocks, and employs two parallel lines of 5 rounds each (16 steps per round). The compression function incorporates bitwise logical operations, modular additions, and constant rotations. Its output size of 160 bits offers a 280 security level against birthday attacks, comparable to SHA‑1 (though SHA‑1 is now broken).

History & Standardization

The RIPEMD family was originally published in 1996 by the RIPE consortium. RIPEMD‑160 quickly gained adoption due to its conservative design and resistance to early cryptanalysis. While SHA‑1 and SHA‑2 became more widespread, RIPEMD‑160 remains a core component of the Bitcoin protocol (combined with SHA‑256 in address generation: RIPEMD‑160(SHA‑256(public key))). It is also used in OpenPGP, GNU Privacy Guard, and various digital timestamping services.

Security Status & Use Cases

As of 2025, RIPEMD‑160 has not been broken in practice. Theoretical collision attacks against reduced rounds exist, but the full 80‑step RIPEMD‑160 is considered cryptographically secure with no known feasible collisions. However, due to the general migration to SHA‑2 and SHA‑3, new systems should prefer SHA‑256/512 for higher security margins. Nevertheless, RIPEMD‑160 remains relevant for legacy systems, blockchain interoperability, and applications requiring a 160‑bit digest.

Real‑world case study: Bitcoin address generation

Bitcoin uses a double‑hash construction: RIPEMD‑160(SHA‑256(public key)) to produce a 160‑bit public key hash. This reduces address length and provides an extra layer of security. The combined hash ensures that even if SHA‑256 is compromised in the future, RIPEMD‑160 acts as a second barrier. The tool above lets developers and auditors verify address hashes or test key derivation steps.

Comparison table: RIPEMD-160 vs SHA-1 vs SHA-256

Algorithm Digest size Block size Known collision? Performance
RIPEMD-160 160 bits 512 bits No practical collisions Moderate (~150 MB/s software)
SHA-1 160 bits 512 bits Yes (SHAttered, 2017) Fast but broken
SHA-256 256 bits 512 bits No Slightly slower than RIPEMD-160

How to use this RIPEMD-160 generator (step by step)

  1. Enter any text in the input field, or upload a file (binary or text).
  2. Click Generate RIPEMD-160 Hash – the tool computes the digest using a standards‑compliant JavaScript implementation.
  3. Copy the 40‑character hash string to your clipboard using the Copy hash button.
  4. Use the example buttons to test with known vectors (e.g., "abc" yields 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc).
  5. Verify file integrity by comparing hashes after transfer.
  6. Pro tip: Compare the hash of a downloaded file with the official RIPEMD‑160 checksum to ensure data integrity.

Test vectors (official RIPEMD-160)

  • "" (empty string) → 9c1185a5c5e9fc54612808977ee8f548b2258d31
  • "abc"8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
  • "message digest"5d0689ef49d2fae572b881b123a85ffa21595f36
  • "abcdefghijklmnopqrstuvwxyz"f71c27109c692c1b56bbdceb5b9d2865b3708dbc

All test vectors verified against OpenSSL 3.0 and Python hashlib. This tool produces identical outputs.

Verification notice: This tool produces hashes identical to openssl ripemd160, hashlib.ripemd160 (Python), and the official COSIC test suite.

Why trust this tool?

Implementation source: The JavaScript code is a direct port of the public domain reference implementation written in C by the original RIPEMD‑160 designers. All calculations are performed client‑side, with no external network calls. The full algorithm is visible in the browser's developer tools – fully auditable. You can verify the hash outputs against the test vectors listed above or against any standard command‑line utility (e.g., `echo -n "abc" | openssl ripemd160`). There is no hidden tracking or data collection.

Accuracy verified: This tool passes all RIPEMD‑160 test vectors from the ISO/IEC 10118‑3:2018 standard.

Frequently Asked Questions

Yes, RIPEMD‑160 remains cryptographically secure with no known feasible attacks against the full hash function. However, for new systems, SHA‑256 or SHA‑3 is recommended due to larger security margins and industry preference.

Bitcoin uses RIPEMD‑160 after SHA‑256 to shorten the address (40 characters vs 64) while preserving collision resistance. The double hash provides additional security: SHA‑256 ensures preimage resistance, RIPEMD‑160 compresses without increasing vulnerabilities.

Yes, the file input supports up to 50 MB. The algorithm processes files chunk by chunk using the File API. For files larger than 50 MB, consider using a desktop tool like `openssl ripemd160`.

RIPEMD‑128 produces 128‑bit output (less secure, deprecated). The 256 and 320 variants extend the output size but employ the same underlying structure. RIPEMD‑160 is the most widely used and audited version.

No. RIPEMD‑160 has not suffered any publicly feasible collision attack. The best theoretical cryptanalysis reduces the security margin but does not break the full function.

The input text is encoded as UTF‑8 before hashing to ensure byte‑level interoperability with standard implementations (e.g., OpenSSL). File inputs preserve raw binary.

Absolutely. For example, run `echo -n "abc" | openssl ripemd160` in your terminal. The output (`8eb208f7e05d987a9b044a8e98c6b087f15a0bfc`) will match this tool's result for the same input. This confirms correctness.