What Is MD5? (MD5 Message-Digest Algorithm)

Definition of MD5 and its history and vulnerabilities

Random numbers over blackboard
FotografiaBasica / 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

Miracle Salad MD5 hash generator website

Microsoft File Checksum Integrity Verifier (FCIV) is one free calculator that can generate the MD5 checksum from actual files and not just text. See our article on 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.

Although 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.

Here's an example:

  • Plain text: This is a test.
  • Hex value: 120EA8A25E5D487BF68B5F7096440019

When more text is added, the hash translates to a totally different value but with the same number of characters:

  • Plain text: This is a test to show how the length of the text does not matter.
  • Hex value: 6c16fcac44da359e1c3d81f19181735b

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

Following are a few more examples:

Checksum Plain Text
bb692e73803524a80da783c63c966d3c Lifewire is a technology website.
64adbfc806c120ecf260f4b90378776a ...!...
577894a14badf569482346d3eb5d1fbc Bangladesh is a South Asian country.
42b293af7e0203db5f85b2a94326aa56 100+2=102

MD5 checksums are built to be non-reversible, meaning that you can't look at the checksum and identify the original inputted data.

For example, even though a = 0cc175b9c0f1b6a831c399e269772661 and p = 83878c91171338902e0fe0fb97a8c47a, combining the two to make ap produces a totally different and unrelated checksum: 62c428533830d84fd8bc77bf402512fc, which can't be pulled apart to reveal either letter.

With that being said, there are plenty of MD5 "decrypters" that are advertised as being able to decrypt an MD5 value.

However, what's really happening with a decryptor, or "MD5 reverse converter," 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 serve as MD5 reverse lookups 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.