Whirlpool Hash Generator
Generate 512-bit Whirlpool hashes from text or files — computed entirely in your browser with a pure-JavaScript implementation of the Whirlpool specification. No uploads, no accounts, no tracking. Hash live as you type, batch-process many inputs, verify checksums, and self-test against the official test vectors.
| # | Input | Whirlpool (hex) |
|---|
These vectors come from the official Whirlpool publication and the independent verification oracle. Click Run self-test to recompute every hash live in your browser and confirm the implementation on this page is correct.
| Input | Expected Whirlpool (hex) | Result |
|---|
What is Whirlpool?
Whirlpool is a cryptographic hash function designed by Vincent Rijmen (co-creator of AES) and Paulo S. L. M. Barreto, first described in 2000 and named after the Whirlpool Galaxy (M51). It digests messages of any length into a fixed 512-bit (64-byte) fingerprint, conventionally written as 128 hexadecimal characters. It was selected for the NESSIE portfolio of cryptographic primitives and standardized as part of ISO/IEC 10118-3:2004. The authors released it patent-free: it may be used free of charge for any purpose.
Version history
| Version | Year | What changed |
|---|---|---|
| Whirlpool-0 | 2000 | Original specification. |
| Whirlpool-T | 2001 | S-box replaced: from a randomly generated box to one with better cryptographic properties and easier hardware implementation. |
| Whirlpool (final) | 2003 | Diffusion matrix flaw fixed — constants changed from (1,1,3,1,5,8,9,5) to (1,1,4,1,8,5,2,9). This is the ISO-standardized version, and the one this tool implements. |
How Whirlpool works
Whirlpool is a Merkle–Damgård construction using the Miyaguchi–Preneel scheme: each 512-bit message block m updates the chaining value H as H ← W[H](m) ⊕ H ⊕ m, where W is a dedicated 512-bit block cipher. Messages are padded with a 1 bit, zeroes, and a 256-bit big-endian bit-length before processing.
The cipher W operates on an 8×8 byte state matrix over 10 rounds. Each round applies four transforms:
- SubBytes — every byte passes through a fixed 8-bit S-box (built from three 4-bit mini-boxes).
- ShiftColumns — column
jis cyclically shifted downward byjpositions (the transpose of AES's ShiftRows). - MixRows — each row is multiplied by an 8×8 circulant matrix
cir(01,01,04,01,08,05,02,09)over GF(2⁸) with polynomial x⁸+x⁴+x³+x²+1. - AddRoundKey — XOR with a round key derived by running the key schedule (the same round function, fed with round constants drawn from the S-box).
Whirlpool vs other hash functions
| Algorithm | Digest | Structure | Status |
|---|---|---|---|
| Whirlpool | 512-bit | Miyaguchi–Preneel over AES-like 10-round cipher | No practical attack on full 10 rounds; ISO standard; niche adoption (VeraCrypt, RHash) |
| SHA-512 | 512-bit | Merkle–Damgård, Davies–Meyer (SHA-2) | Industry default 512-bit hash; hardware acceleration; fastest in software |
| SHA3-512 | 512-bit | Sponge (Keccak) | Modern NIST standard; different design lineage from SHA-2 |
| MD5 | 128-bit | Merkle–Damgård | Broken — collisions are trivial; use only for non-security checksums |
Choose SHA-512 or SHA3-512 for new systems. Choose Whirlpool when you must interoperate with existing Whirlpool checksums, satisfy ISO/IEC 10118-3 requirements, or want a 512-bit digest outside the SHA family.
Official Whirlpool test vectors
Reference hashes recomputed from the verified implementation (the quick brown fox value is the officially published vector):
19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3
4e2448a4c6f486bb16b6562c73b4020bf3043e3a731bce721ae1b303d97e6d4c7181eebdb6c57e277d0e34957114cbd6c797fc9d95d8b582d225292076d4eef5
248c2b8d67dd270de23b91417feafee671a4a925de9b16e66ff442935f3ea5e27ffcd1609a15733c0554784cb1f427e969b4b1da1b9e6e5056af2867dfa97ba9
b97de512e91e3828b40d2b0fdce9ceb3c4a71f9bea8d88e75c4fa854df36725fd2b52eb6544edcacd6f8beddfea403cb55ae31f03ad62a5ef54e42ee82c3fb35
Frequently asked questions
What is the Whirlpool hash function?
Whirlpool vs SHA-512 — what is the difference?
Is Whirlpool still secure?
Why is there no Whirlpool in the Web Crypto API?
What are Whirlpool-0, Whirlpool-T, and Whirlpool?
Can I hash a file with Whirlpool?
Is my text or file sent to a server?
How do I verify a Whirlpool checksum?
Free tool by NRTechStudio