What Is MD5?
MD5 (Message-Digest Algorithm 5) was designed by Ronald Rivest in 1991 as a cryptographic hash function. It takes any input and produces a fixed 128-bit (16-byte) hash value, typically rendered as a 32-character hexadecimal string. For over a decade, MD5 was the go-to hash for file integrity checks, password storage, and digital signatures. The algorithm processes input in 512-bit blocks through four rounds of 16 operations each, using bitwise operations, modular addition, and nonlinear functions.
MD5 Security Status
MD5 has been cryptographically broken since 2004 when Xiaoyun Wang demonstrated practical collision attacks. Today, MD5 collisions can be generated in seconds on a laptop. In 2008, researchers created a rogue CA certificate using MD5 collisions. Never use MD5 for security purposes β digital signatures, certificate validation, password hashing, or any application where collision resistance matters.
When MD5 Is Still Acceptable
Despite its broken security, MD5 remains widely used for non-security checksums. Many Linux package repositories still publish MD5 sums alongside SHA-256. Legacy systems, database migrations, and older APIs may require MD5 hashes. For quick file comparison where malicious tampering is not a concern, MD5 is faster than SHA-256. However, for any new system or any security-sensitive application, always use SHA-256 or SHA-512.