In cryptography, MD5 (Message-Digest algorithm 5) is a widely used
cryptographic hash function with a 128-bit (16-byte) hash value. Specified
in RFC 1321, MD5 has been employed in a wide variety of security
applications, and is also commonly used to check the integrity of files.
However, it has been shown that MD5 is not collision resistant; as such, MD5
is not suitable for applications like SSL certificates or digital signatures
that rely on this property. An MD5 hash is typically expressed as a 32-digit