md5 is a 128-bit hash, which is generally represented as a 32-character hexadecimal string. I've read numerous documents on how the md5 algorithm works, and I still can't understand it, but the md5 hash is dependent on the entire file. However, there are only a certain amount of 32-character combinations / permutations that can be created, so there is a possibility [around 1 x 10^-100] that two files will have the same exact md5 hash [which is called an md5 collision].
There was an Asian professor [Wang I believe] who "cracked" the md5 and created an algorithm to create md5 collisions, about 10 years ago. I was doing some reading the other day, and I read that there is an algorithm to create a collision as fast as 31 seconds.
|