MD5 (Message Digest Algorithm 5) generates a 128-bit fingerprint (32 hexadecimal characters). Although cryptographically obsolete and vulnerable to collisions, MD5 remains widely used for non-security cases: file checksums, fingerprinting, caching and non-critical identifiers.

MD5 produces a 32-character hexadecimal hash (128 bits) from an input of arbitrary size. The algorithm is fast but has known cryptographic vulnerabilities since 2004 (intentional collisions possible). For security (passwords, signatures), use SHA-256, bcrypt or argon2. For non-critical checksums, file comparison or caching, MD5 remains practical.

📐 Formula

MD5(message) → 32-character hexadecimal fingerprint (128 bits)

📊 Reference table

Input MD5 hash (32 hex characters)
"hello" 5d41402abc4b2a76b9719d911017c592
"Hello" 8b1a9953c4611296a827abf8c47804d7
"" (empty) d41d8cd98f00b204e9800998ecf8427e
"password" 5f4dcc3b5aa765d61d8327deb882cf99

💡 Practical examples

Example 1: file checksum (non-security use) MD5 of a configuration file allows quick detection of whether the file has been modified between two builds. Not recommended if security is a concern.
Example 2: cache key in a web application MD5 of a URL or query parameter generates a short and uniform cache key, useful for Redis or Memcached.
Example 3: identify a Gravatar avatar Gravatar uses the MD5 of the email address (in lowercase) to identify avatars: md5("[email protected]") → avatar URL.