MD5 is a message digest algorithm. MD5 takes a variable length input and produces a 128-bit message digest.

MD5 was designed by Ron Rivest in 1991.

MD5 is officially defined in RFC 1321 – The MD5 Message-Digest Algorithm.

MD5 Usage

MD5 is used in many applications, including GPG, Kerberos, TLS / SSL, Cisco type 5 enable passwords, and RADIUS.

Software Implementations of MD5

Ready-to-use MD5 implementations are available in C, C++, JavaScript, PERL, ActiveX, and Delphi.

The Difficulty of a Brute Force Attack Against MD5

The difficulty of creating two files with the same MD5 hash should be approximately 2^64. The difficulty of creating a file with a specific MD5 hash should be approximately 2^128.

This means that to replace a file with another file having the same MD5 hash using a brute force attack, you might have to make 340,282,366,920,938,463,463,374,607,431,768,211,456 attempts.

MD5’s Predecessors: MD2 and MD4

MD2 and MD4 were earlier algorithms in the RSA Message Digest family. MD2 and MD4 are both currently considered obsolete. Neither have been completely broken, but both have been shown to be potentially weak.

Cryptanalysis of MD5

Cryptanalysis of MD5 continues to be a popular topic among cryptologists.

MD5CRK is a distributed computing project with the goal of demonstrating that the MD5 message digest algorithm is no longer appropriate for cryptographic applications such as checksums and digital signatures.

MD5 Generator

You can generate MD5 hashes online using our MD5 Generator or the MD5 Generator at MD5.net.