What is MD5?
MD5 (Message-Digest Algorithm 5) is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value, typically expressed as a 32-character hexadecimal number. It was designed to be used as a checksum to verify data integrity.
Quick Facts
| Full Name | Message-Digest Algorithm 5 |
|---|---|
| Created | 1991 by Ronald Rivest |
| Specification | Official Specification |
How MD5 Works
MD5 was designed by Ronald Rivest in 1991 to replace the earlier MD4 hash function. It processes input data in 512-bit blocks and produces a fixed 128-bit output regardless of input size. While MD5 was once widely used for security purposes, cryptographic weaknesses discovered in 2004 and later make it unsuitable for security-sensitive applications. However, it remains useful for non-cryptographic purposes like checksums and data deduplication.
Key Characteristics
- Produces a fixed 128-bit (32 hexadecimal characters) output
- Deterministic - same input always produces same output
- Fast computation suitable for large files
- One-way function - cannot reverse hash to original data
- Collision vulnerabilities discovered - not secure for cryptographic use
- Still widely used for checksums and file verification
Common Use Cases
- File integrity verification and checksums
- Detecting duplicate files in storage systems
- Generating unique identifiers for caching
- Verifying downloaded file integrity
- Legacy password storage (not recommended for new systems)
Example
Input: Hello World
MD5: b10a8db164e0754105b7a99be72e3fe5
Input: hello world
MD5: 5eb63bbbe01eeed093cb22bb8f5acdc3
Input: (empty string)
MD5: d41d8cd98f00b204e9800998ecf8427e