


We use cookies to improve your experience
We use essential cookies to make our site work. With your consent, we may also use non-essential cookies to improve user experience.
Definition
MD5 (Message Digest Algorithm 5) is a hash function that produces a 128-bit (32 hexadecimal character) hash value. Once widely used for security, MD5 is now considered cryptographically broken due to collision vulnerabilities. It remains useful for checksums and non-security purposes.
MD5 was designed by Ronald Rivest in 1991 and quickly became one of the most widely used hash functions. It produces a 128-bit hash value, typically displayed as a 32-character hexadecimal string. For years, MD5 was used for password hashing, digital signatures, and integrity verification.
In 2004, researchers demonstrated practical collision attacks against MD5 — they could create two different files with the same MD5 hash. By 2008, researchers used MD5 collisions to create a rogue CA certificate. These attacks mean MD5 should not be used for any security-sensitive application: password hashing, digital signatures, or certificate verification.
Despite being cryptographically broken, MD5 is still widely used for non-security purposes: verifying file downloads (detecting accidental corruption, not malicious tampering), generating short identifiers, cache keys, and deduplication checks. For these use cases, MD5 is fast and sufficient. For security applications, SHA-256 or SHA-3 should be used instead. For password hashing, bcrypt or Argon2 should be used.