What is MD5? (MD5 Message-Digest Algorithm)

Definition of MD5 and Its History and Vulnerabilities

Picture of physicist Vitaly Ginzburg writing formulas on a chalkboard
© Heritage Images / Hulton Archive / Getty Images

MD5 (technically called MD5 Message-Digest Algorithm) is a cryptographic hash function whose main purpose is to verify that a file has been unaltered.

Instead of confirming that two sets of data are identical by comparing the raw data, MD5 does this by producing a checksum on both sets, and then comparing the checksums to verify that they're the same.

MD5 has certain flaws and so it isn't useful for advanced encryption applications, but it's perfectly acceptable to use it for standard file verifications.

Using an MD5 Checker or MD5 Generator

Microsoft File Checksum Integrity Verifier (FCIV) is one free calculator that can generate the MD5 checksum from actual files and not just text. See How to Verify File Integrity in Windows with FCIV to learn how to use this command-line program.

One easy way to get the MD5 hash of a string of letters, numbers, and symbols is with the MiracleSalad.com online MD5 Hash Generator.

History & Vulnerabilities of MD5

MD5 was invented by Ronald Rivest, but it's only one of his three algorithms.

The first hash function he developed was MD2 in 1989, which was built for 8-bit computers. Although MD2 is still in use, it's not intended for applications that need a high level of security, as it was shown to be vulnerable to various attacks.

MD2 was then replaced by MD4 in 1990. MD4 was made for 32-bit machines and was a lot faster than MD2, but was also shown to have weaknesses and is now considered obsolete by the Internet Engineering Task Force.

MD5 was released in 1992 and was also built for 32-bit machines. MD5 isn't as fast as MD4, but it is considered to be more secure than the previous MDx implementations.

Though MD5 is more secure than MD2 and MD4, other cryptographic hash functions, like SHA-1, have been suggested as an alternative,since MD5 has also been shown to have security flaws.

Carnegie Melon University Software Engineering Institute has this to say about MD5: "Software developers, Certification Authorities, website owners, and users should avoid using the MD5 algorithm in any capacity. As previous research has demonstrated, it should be considered cryptographically broken and unsuitable for further use."

In 2008, MD6 was suggested to the National Institute of Standards and Technology as an alternative to SHA-3. You can read more about this proposal here.

More Information on the MD5 Hash

MD5 hashes are 128-bits in length and are normally shown in their 32 digit hexadecimal value equivalent. This is true no matter large or small the file or text may be.

One example of this is the hex value 120EA8A25E5D487BF68B5F7096440019, of which the plain text translation is "This is a test.".

See my What is a Checksum? for more examples of an MD5 checksum and some free ways to generate an MD5 hash value from files.