MD5 (Message-Digest algorithm 5) is a widely-used cryptographic hash function with a 128-bit hash value. MD5 was designed by Ronald Rivest in 1991.

What it does, to quote the executive summary of rfc1321, is:

"[The MD5 algorithm] takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest. The MD5 algorithm is intended for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA."

In essence, MD5 is a way to verify data integrity, and is much more reliable than checksum and many other commonly used methods.

Additional information about the algorithm can be found in the Wikipeia or on the unoffical MD5 homepage.

Because of the long time it takes today to reverse enigneer a MD5 hash (with brute force methods), the idea for md5(); was born. This website is connected to a database of md5 hashes and their original counterpart. This makes the search for the counterpart of a given md5 hash extremly fast. Additionaly everytime when you enter a non-md5 hash string into the search field, the md5 result for that search strings gets stored in our database for future use.