User Rating 0.0 β˜…β˜…β˜…β˜…β˜…
Total Usage 0 times
1 – 10,000
Quick presets:
Click Generate Hashes to create random SHA-0 digests.
Is this tool helpful?

Your feedback helps us improve.

β˜… β˜… β˜… β˜… β˜…

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.

sha0 hash generator sha-0 random hash cryptographic hash fips 180 hash creator

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 ≀ 79

Round compression function:

T = ROTL5(a) + ft(b, c, d) + e + Kt + Wt mod 232

Nonlinear functions by round range:

{
f0..19 = (b ∧ c) ∨ (Β¬b ∧ d) (Ch)f20..39 = b βŠ• c βŠ• d (Parity)f40..59 = (b ∧ c) ∨ (b ∧ d) ∨ (c ∧ d) (Maj)f60..79 = b βŠ• c βŠ• d (Parity)

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

PropertySHA-0SHA-1SHA-256MD5
Publication1993199520011992
StandardFIPS 180FIPS 180-1FIPS 180-2RFC 1321
Digest Size (bits)160160256128
Digest Size (hex chars)40406432
Block Size (bits)512512512512
Rounds80806464
Word Size (bits)32323232
Message Schedule RotationNoneROTL1 - -
Initial H00x674523010x674523010x6A09E6670x67452301
Initial H10xEFCDAB890xEFCDAB890xBB67AE850xEFCDAB89
Initial H20x98BADCFE0x98BADCFE0x3C6EF3720x98BADCFE
Initial H30x103254760x103254760xA54FF53A0x10325476
Initial H40xC3D2E1F00xC3D2E1F00x510E527F -
Round Constant K0..190x5A8279990x5A827999 - -
Round Constant K20..390x6ED9EBA10x6ED9EBA1 - -
Round Constant K40..590x8F1BBCDC0x8F1BBCDC - -
Round Constant K60..790xCA62C1D60xCA62C1D6 - -
Collision ResistanceBroken (~239)Broken (~263)Secure (2128)Broken (~218)
StatusWithdrawnDeprecatedActiveDeprecated

Frequently Asked Questions

The sole difference is in the message schedule expansion. SHA-1 applies a circular left rotation by 1 bit (ROTLΒΉ) to the XOR result when computing words W₁₆ through W₇₉. SHA-0 omits this rotation entirely, using the raw XOR. This single missing operation makes SHA-0 susceptible to differential cryptanalysis, as demonstrated by Chabaud and Joux (1998) who found collisions with complexity ~2⁢¹, later improved to ~2³⁹ by subsequent researchers.
No. SHA-0 was withdrawn by NIST in 1995 specifically because of cryptographic weaknesses. Practical collision attacks exist. Do not use SHA-0 for digital signatures, certificate verification, password hashing, or any integrity-critical application. This tool generates random hashes for testing, academic study, seeding databases, or generating unique identifiers where collision resistance is not a security requirement.
Each hash digests 32 bytes (256 bits) of randomness obtained from crypto.getRandomValues(), which is backed by the operating system's cryptographically secure pseudorandom number generator (CSPRNG). The entropy of the input far exceeds the 160-bit output space of SHA-0, ensuring uniform distribution across the digest domain.
Theoretically yes, but practically no for reasonable batch sizes. With a 160-bit output space (2¹⁢⁰ possible digests), the birthday paradox gives a 50% collision probability at approximately 2⁸⁰ hashes (~1.2 Γ— 10²⁴). Generating 10,000 hashes gives a collision probability of roughly 10⁻⁴⁰. The tool does not deduplicate, but collisions are astronomically unlikely.
Merkle-DamgΓ₯rd construction requires the original message length to be encoded in the final block to prevent length-extension ambiguity. The message is padded with a 1-bit, then zeros, then the 64-bit big-endian representation of the original message length in bits. This ensures that two messages of different lengths cannot produce identical padded blocks, which is necessary for the security proof of the hash construction.
The tool supports batch generation of up to 10,000 SHA-0 hashes in a single operation. SHA-0 computation on a 32-byte input involves a single 512-bit block (after padding, the total is 256 bits of data + padding + 64-bit length = 512 bits exactly). Processing 10,000 single-block digests completes in under 200ms on modern hardware, so no Web Worker is needed.