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, 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 Miracle Salad MD5 Hash Generator tool. Plenty of others exist as well, like  MD5 Hash Generator, PasswordsGenerator, and OnlineMD5.

When the same hash algorithm is used, the same results are produced. This means that you can use one MD5 calculator to get the MD5 checksum of some particular text and then use a totally different MD5 calculator to get the exact same results. This can be repeated with every tool that generates a checksum based on the MD5 hash function.

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, since 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 Mellon 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 how 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.". Adding more text to read "This is a test to show how the length of the text does not matter." translates to a totally different value but with the same number of characters: 6c16fcac44da359e1c3d81f19181735b.

In fact, even a string with zero characters has a hex value of d41d8cd98f00b204e9800998ecf8427e, and using even one period makes the value 5058f1af8388633f609cadb75a75dc9d.

MD5 checksums are built to be non-reversible, meaning that you can't look at the checksum and identify the original inputted data. With that being said, there are plenty of MD5 "decrypters" that are advertised as being able to decrypt an MD5 value, but what's really happening is that they create the checksum for lots of values and then let you look up your checksum in their database to see if they have a match that can show you the original data.

MD5Decrypt and MD5 Decrypter are two free online tools that can do this but they only work for common words and phrases.

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