MD5 Test Vectors (RFC 1321)
Security Warning
MD5 is cryptographically broken and should NOT be used for security purposes.
MD5 is provided only for:
- Legacy system compatibility
- Non-cryptographic checksums
- Historical reference
For security applications, use SHA-256 or stronger algorithms.
Test Vectors from RFC 1321
| Input | Output (Hex) |
|---|---|
| "" | d41d8cd98f00b204e9800998ecf8427e |
| "a" | 0cc175b9c0f1b6a831c399e269772661 |
| "abc" | 900150983cd24fb0d6963f7d28e17f72 |
| "message digest" | f96b697d7cb7938d525a2f31aaf161d0 |
| "abcdefghijklmnopqrstuvwxyz" | c3fcd3d76192e4007dfb496cca67e13b |
| "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" | d174ab98d277d9f5a5611c2c9f419d9f |
| "12345678901234567890123456789012345678901234567890123456789012345678901234567890" | 57edf4a22be3c955ac49da2e2107b67a |
Algorithm Details
- Output Size: 128 bits (16 bytes)
- Block Size: 512 bits (64 bytes)
- Rounds: 64
- Endianness: Little-endian
References
- RFC 1321
- BouncyCastle MD5Digest: Used as reference implementation
Known Vulnerabilities
- Collision Attacks: Practical collision attacks exist (2004)
- Chosen-Prefix Attacks: Enables creating files with identical MD5 hashes
- Length Extension Attacks: Vulnerable to length extension attacks
Do not use MD5 for:
- Password hashing
- Digital signatures
- Certificate verification
- Any security-critical application