Random SHA0 Hashes Creator
Generate cryptographically random SHA-0 hashes instantly. Full FIPS PUB 180 (1993) implementation with batch generation, copy, and export options.
About
SHA-0 is the original Secure Hash Algorithm published in FIPS PUB 180 (1993) by NIST. It produces a 160-bit (20-byte) message digest rendered as 40 hexadecimal characters. The algorithm was withdrawn in 1995 and replaced by SHA-1, which added a single circular left-shift (ROTL1) to the message schedule step. Without that rotation, SHA-0 is vulnerable to differential collision attacks demonstrated by Chabaud and Joux in 1998, reducing collision complexity to approximately 261 operations. This tool implements the complete, unmodified SHA-0 specification. Each generated hash digests 32 bytes of entropy sourced from crypto.getRandomValues, ensuring uniform distribution across the output space. Use these hashes for test fixtures, database seeding, protocol simulation, or academic study of pre-SHA-1 constructions. This tool approximates no shortcuts. Every round function, every padding bit, every word expansion is computed per the original standard.
Formulas
SHA-0 processes a padded message in 512-bit blocks. Each block is expanded into 80 words and compressed through 80 rounds. The critical difference from SHA-1 is the message schedule: SHA-0 uses a simple XOR without rotation.
Message schedule expansion (SHA-0, no rotation):
Wt = Wtβ3 β Wtβ8 β Wtβ14 β Wtβ16 for 16 β€ t β€ 79Round compression function:
T = ROTL5(a) + ft(b, c, d) + e + Kt + Wt mod 232Nonlinear functions by round range:
Where a, b, c, d, e are the five 32-bit working variables initialized from H0..H4. ROTLn denotes circular left rotation by n bits. Kt is the round constant. Wt is the expanded message word. The final hash is the concatenation of the five updated state words: H0 β H1 β H2 β H3 β H4.
Reference Data
| Property | SHA-0 | SHA-1 | SHA-256 | MD5 |
|---|---|---|---|---|
| Publication | 1993 | 1995 | 2001 | 1992 |
| Standard | FIPS 180 | FIPS 180-1 | FIPS 180-2 | RFC 1321 |
| Digest Size (bits) | 160 | 160 | 256 | 128 |
| Digest Size (hex chars) | 40 | 40 | 64 | 32 |
| Block Size (bits) | 512 | 512 | 512 | 512 |
| Rounds | 80 | 80 | 64 | 64 |
| Word Size (bits) | 32 | 32 | 32 | 32 |
| Message Schedule Rotation | None | ROTL1 | - | - |
| Initial H0 | 0x67452301 | 0x67452301 | 0x6A09E667 | 0x67452301 |
| Initial H1 | 0xEFCDAB89 | 0xEFCDAB89 | 0xBB67AE85 | 0xEFCDAB89 |
| Initial H2 | 0x98BADCFE | 0x98BADCFE | 0x3C6EF372 | 0x98BADCFE |
| Initial H3 | 0x10325476 | 0x10325476 | 0xA54FF53A | 0x10325476 |
| Initial H4 | 0xC3D2E1F0 | 0xC3D2E1F0 | 0x510E527F | - |
| Round Constant K0..19 | 0x5A827999 | 0x5A827999 | - | - |
| Round Constant K20..39 | 0x6ED9EBA1 | 0x6ED9EBA1 | - | - |
| Round Constant K40..59 | 0x8F1BBCDC | 0x8F1BBCDC | - | - |
| Round Constant K60..79 | 0xCA62C1D6 | 0xCA62C1D6 | - | - |
| Collision Resistance | Broken (~239) | Broken (~263) | Secure (2128) | Broken (~218) |
| Status | Withdrawn | Deprecated | Active | Deprecated |