Calculate MD5 checksum verification time for files based on size and hashing throughput.
MD5 produces a fixed 128-bit digest, always rendered as 32 hexadecimal characters by `md5sum`, regardless of input length. While the output format is simple and fast to compute, MD5 has been cryptographically broken since 2004 — collision attacks that find two different inputs producing an identical digest are practical and fast on ordinary hardware, which makes MD5 unsafe for anything where an adversary could choose or influence the input (passwords, signatures, certificate fingerprints, license keys). It remains fine only for non-adversarial integrity checks such as detecting accidental file corruption.
Output format
MD5 output = 128 bits = 32 hexadecimal characters, fixed regardless of input size
MD5 is broken specifically as a *cryptographic* hash — collisions are practical to engineer. It remains present because it's still useful for cheap, non-adversarial tasks (checksumming large file sets for accidental corruption, legacy protocol compatibility) and removing it would break backward compatibility, not because it's still considered secure.
Yes — demonstrated real-world exploits include forging rogue CA certificates (2008) and crafting two different files/documents with matching MD5 sums for social-engineering or malware-signing evasion. This is why MD5 is disallowed in TLS certificate signing and most modern security standards.
Never use any general-purpose hash function (MD5, SHA-256, SHA-512) alone for passwords — use a dedicated slow, salted password-hashing algorithm like bcrypt, scrypt, or Argon2, which are specifically designed to resist brute-force and GPU/ASIC cracking.