MD5 hash
Computes MD5 hash of a string: a 128-bit fingerprint in hex or Base64. Fast — fine for checksums, not for passwords or cryptography.
01
Hasher
02
Known values
fixed length: any input → 128 bit (32 hex chars)03
About MD5
MD5 (Message Digest 5) is a 1991 hashing algorithm that turns any data into a 128-bit fingerprint. Output length is fixed — 32 hex characters or 22 Base64 characters. The hash cannot be reversed back to the source text.
MD5 is broken for cryptography: practical collisions exist since 2004. For passwords use bcrypt, scrypt or Argon2. For file integrity checks (checksum) MD5 is still fine — no adversary, and it reliably catches random errors.
MD5 is broken for cryptography
since 2004collision: hash(A) === hash(B), where A ≠ B
In 2004 practical MD5 collisions were demonstrated. Since 2008 — attacks on PKI certificates. Do not use for signatures, TLS, passwords, authentication.
Still fine for checksums
OKverifying file integrity during download
For random errors (network glitch, bad disk) MD5 is fine: no adversary involved. Used in rsync, git before 2005, Linux distributions alongside stronger SHA-256.
For passwords — bcrypt / Argon2 only
criticalMD5(password) === MD5(password) → rainbow table
MD5 is fast: billions of hashes per second on a GPU. Rainbow tables + brute-force crack passwords in minutes. Store passwords with bcrypt, scrypt or Argon2 (slow, salted).
Replacements: SHA-256, BLAKE2
sha256sum · openssl dgst -sha256 · crypto.subtle.digest('SHA-256')
For new projects use SHA-256 (de-facto standard) or BLAKE2 (faster). Both give a longer hash (64 hex chars vs 32) and have no known practical attacks.