What is md5
Last updated: April 1, 2026
Key Facts
- Generates a fixed 32-character hexadecimal string (hash) from input of any size
- Produces identical output for identical input, allowing verification that data hasn't changed
- Cryptographically broken since 2004 with demonstrated collision vulnerabilities allowing attackers to create different inputs with same hash
- Still useful for non-security purposes like detecting accidental file corruption or verifying download integrity
- Replaced by SHA-256 and other stronger algorithms for security-critical applications requiring collision resistance
Overview
MD5 (Message Digest Algorithm 5) is a cryptographic hash function developed in 1992 by Ronald Rivest. It processes input data of any length and produces a fixed 128-bit hash value, typically represented as a 32-character hexadecimal string. While once widely used for security applications, MD5 is now considered cryptographically broken and unsuitable for further use in security-sensitive contexts.
How MD5 Works
MD5 operates by taking any input data (text, binary files, etc.) and running it through a complex mathematical algorithm that produces a unique hash. The process is deterministic—the same input always produces the same hash. Even tiny changes in input dramatically alter the output hash value. However, MD5 cannot reverse the process: you cannot recover the original input from its hash.
Historical Uses and Applications
MD5 was originally designed for digital signatures and checksums. Before its vulnerabilities were discovered, it became widely adopted across the internet for verifying file integrity, storing password hashes, and ensuring email message authenticity. Many systems still use MD5 by default, though security experts recommend migration to stronger alternatives.
Security Vulnerabilities
In 2004, researchers demonstrated collision attacks on MD5, showing that different inputs could produce identical hash values. This weakness makes MD5 unsuitable for cryptographic purposes like password storage or digital signatures, as attackers could forge documents or create undetectable password collisions. These vulnerabilities have only become worse with advancing computational power.
Current Status and Alternatives
Most security standards now recommend against MD5 for cryptographic applications. SHA-256, part of the SHA-2 family, provides stronger security properties and is the current standard for most applications. MD5 remains useful for non-security purposes like detecting accidental file corruption, but should never be used for password storage, message authentication, or any security-critical function.
Related Questions
Why is MD5 no longer secure?
MD5 has collision vulnerabilities, meaning different inputs can produce the same hash. Attackers can exploit this to forge documents, create password collisions, or bypass authentication. Computing power advances have made these attacks practical, making MD5 unsuitable for security applications.
What should replace MD5 for password hashing?
Modern password hashing requires specialized algorithms like bcrypt, scrypt, or Argon2, not general-purpose hash functions. These are slow by design to resist brute-force attacks. SHA-256 is better than MD5 for non-password uses, but proper password hashing requires different algorithms.
Can MD5 hashes be reversed to find the original input?
No, MD5 is a one-way function mathematically designed to be irreversible. However, attackers can use rainbow tables (precomputed hash lists) or brute-force attacks to find matching inputs for short passwords or common data.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia - MD5CC-BY-SA-4.0
- RFC 1321 - The MD5 Message-Digest AlgorithmPublic Domain