What is MD5?
The MD5 is a one-way cryptographic function that used hashing algorithm to produce a 128-bit hash value. It accepts a message of any length as input and returns as output a fixed-length digest value to be used for authenticating the original message.
MD5 is used in many situations wherea potentially long message needs to be processed and/or comparedquickly. The most common application is the creation and verificationof digital signatures. It was designed by well-known cryptographer Ronald Rivest in 1991.
Like most hash functions, MD5 is neither encryption nor encoding. It can be cracked by brute-force attack and suffers from extensive vulnerabilities. It can still be used as a checksum to verify data integrity, but only against unintentional corruption.
The IETF suggests MD5 hashing can still be used for integrity protection, noting "Where the MD5 checksum is used inline with the protocol solely to protect against errors, an MD5 checksum is still an acceptable use." However, itadded that "any application and protocol that employs MD5 for any purpose needs to clearly state the expected security services from their use of MD5".