Quiz Entry - updated: 2026.07.14
Compare the common hash algorithms in the SHA family by block size, output size, and status.
MD5 (128 bit) and SHA-1 (160 bit) are broken. SHA-2 family (SHA-256/384/512) and SHA-3 family are still considered secure.
| Name | Block length | Output length | Status |
|---|---|---|---|
| MD5 | 512 | 128 | ❌ Broken (collisions in seconds) |
| SHA-1 | 512 | 160 | ❌ Broken (SHAttered 2017) |
| SHA-256 | 512 | 256 | ✅ Secure |
| SHA-384 | 1024 | 384 | ✅ Secure |
| SHA-512 | 1024 | 512 | ✅ Secure |
| SHA3-256 | 1088 | 256 | ✅ Secure |
| SHA3-384 | 832 | 384 | ✅ Secure |
| SHA3-512 | 576 | 512 | ✅ Secure |
Notes:
- SHA-2 family (SHA-256/384/512) is a Merkle-Damgård construction like SHA-1 — same family, but the structure is hardened and the output is longer.
- SHA-3 family is the Keccak algorithm — a totally different "sponge" construction. Standardised in 2015 after a NIST competition (won 2012). Designed as a backup in case SHA-2 ever falls.
- Output length vs security: an n-bit hash has n/2 bits of collision resistance. SHA-256 → 128-bit collision strength (still very strong).
Modern alternatives beyond the SHA family:
- BLAKE2 / BLAKE3 — faster than SHA-2 on software, used in many modern systems (WireGuard, Argon2's internal hash).
- SHAKE-128 / SHAKE-256 — variable-output siblings of SHA-3.
Tip: For new code: SHA-256 for general integrity, SHA-3 / BLAKE3 if performance matters. Never MD5 or SHA-1 except for non-security purposes (e.g. file deduplication where adversarial collisions don't matter).