Introduction
RIPEMD-256 is a 256-bit cryptographic hash function from the RIPEMD family, developed in 1996 by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel at KU Leuven. It extends RIPEMD-128 to a 256-bit output by doubling the number of chaining variables from four to eight while keeping the same round structure. This tool generates RIPEMD-256 hashes entirely in your browser using a pure TypeScript implementation based on the original reference specification.
What this tool does
- Generates RIPEMD-256 hashes from any text input in real time as you type.
- Produces a fixed 256-bit (64-character hex) digest.
- Implements the full RIPEMD-256 algorithm with two parallel chains and eight 32-bit chaining variables.
- Displays the hash as a lowercase hexadecimal string.
- Processes all data locally in your browser with no network requests.
How this tool works
Type or paste text into the input field. The tool converts the text to UTF-8 bytes, pads the message to a multiple of 64 bytes using MD-strengthening, and processes each 512-bit block through the RIPEMD-256 compression function. The compression function runs two parallel chains (left and right), each with four 32-bit chaining variables. After each of the four rounds the matching register of the left chain is swapped with the right chain, mixing the two paths. The hash updates instantly as you type. All computation happens client-side.
How RIPEMD-256 works
RIPEMD-256 was designed as a plug-in substitute for applications that need a 256-bit digest but want to stay within the RIPEMD family. It uses the same Boolean functions, message word orders, rotation amounts, and constants as RIPEMD-128. The left chain uses constants 0, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc. The right chain uses 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0. The initial values are the eight words 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0x76543210, 0xfedcba98, 0x89abcdef, 0x01234567. Unlike RIPEMD-128 there is no final crossover mixing: after each block the two chains are added to the state independently and concatenated. This means RIPEMD-256 offers the same security level as RIPEMD-128 despite the longer output, because each half of the digest is protected by only four chaining variables. For applications that need both a 256-bit output and stronger security, RIPEMD-320 exists but is rarely used. SHA-256 is the standard choice for new 256-bit hashing.
How to use this tool
- Enter the text you want to hash in the input field.
- The RIPEMD-256 hash appears instantly in the output field as a 64-character hex string.
- Use the Copy button to copy the hash to your clipboard.
- Change the input at any time and the hash updates automatically.
Real-world examples
Hashing the empty string
Input: empty string. Output: `02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d`. This is the standard test vector from the RIPEMD-256 specification.
Hashing a single character
Input: `a`. Output: `f9333e45d857f5d90a91bab70a1eba0cfb1be4b0783c9acfcd883a9134692925`.
Hashing a common test string
Input: `abc`. Output: `afbd6e228b9d8cbbcef5ca2d03e6dba10ac0bc7dcbe4680e1e42d2e975459b65`. This matches the reference implementation by Bosselaers.
Comparison with similar methods
| Method | Complexity | Typical use |
|---|---|---|
| RIPEMD-256 | O(n) — 64 rounds per 64-byte block | 256-bit RIPEMD family digest |
| RIPEMD-128 | O(n) — 64 rounds per 64-byte block | 128-bit RIPEMD family digest |
| SHA-256 | O(n) — 64 rounds per 64-byte block | Modern 256-bit hashing, TLS, blockchain |
| BLAKE2b-256 | O(n) — faster than SHA-256 | High-performance 256-bit hashing |
Limitations or considerations
RIPEMD-256 provides the same security level as RIPEMD-128 despite the longer 256-bit output, because each half of the digest is computed by only four chaining variables. This means collision resistance is still around 64 bits, below the 112-bit minimum recommended by NIST SP 800-131A. For new security-critical applications, use SHA-256 or BLAKE2b. This tool does not support keyed hashing (HMAC).
Frequently asked questions
Is RIPEMD-256 more secure than RIPEMD-128?
No. RIPEMD-256 produces a 256-bit digest but offers the same security level as RIPEMD-128 because each half of the output is protected by only four chaining variables. The longer output does not increase collision resistance.
What is the difference between RIPEMD-256 and SHA-256?
SHA-256 is a single-chain design from NIST with 64 rounds and a 256-bit output backed by full 128-bit collision resistance. RIPEMD-256 uses two parallel four-variable chains and offers only about 64 bits of collision resistance despite the 256-bit output.
Why does RIPEMD-256 exist?
It was created for applications that wanted a 256-bit digest while staying within the RIPEMD family and reusing RIPEMD-128 hardware or code. It is rarely used in practice because SHA-256 is the standard 256-bit hash.
Can I use RIPEMD-256 for password hashing?
No. RIPEMD-256 is a plain hash function without salting or work factors. Use Argon2, bcrypt, or PBKDF2 for password storage.
Conclusion
The RIPEMD-256 hash generator provides an accurate implementation of this 1996 hash function based on the original reference specification. It is useful for verifying legacy 256-bit RIPEMD digests, studying dual-chain hash design, and comparing outputs against test vectors. For new applications requiring 256-bit hashing, SHA-256 or BLAKE2b are recommended.