Created: 2017.04.12
MD5 is a secure hash algorithm. It takes a string as input, and produces a 128-bit number, the hash.
MD5 and SHA1 are designed for a number of properties, one of the strongest being collision resistance. This means that it should take an enormous computational effort -- around 264264 MD5 calls or 280280 SHA1 calls -- in order to find two files that have the same hash output.
This is an important property for a number of applications, most obviously digital signatures.
https://www.quora.com/Cryptography-Why-are-MD5-and-SHA1-called-broken-algorithms