Посмотрите на это:http://en.wikipedia.org/wiki/MD5#Applications
MD5 был первым широко популярным хешем, который был вычислен для всего файла. У него есть серьезные проблемы с безопасностью, поэтому он больше не используется. Читая о MD5 и о том, как он использовался, вы найдете ответы на большинство, если не на все ваши последующие вопросы.
Но в упрощенном виде, если вы хешируете какой-либо контент a и применяете хорошую хеш-функцию, вы получаете двоичное хеш-значение x. Внесите любые изменения в контент a, независимо от его размера, для создания контента a '. Хеш-значение содержимого a ' теперь является новым хеш-значением x', причем каждый бит х ' с вероятностью 50% может отличаться от соответствующего бита в х.
Конечно , это означает , что если вы используете 32 - битный хэш, после того, как вы сделаете какие - либо изменения к вам есть вероятность 2 ^ -32 (0,000000023283%) до сих пор получить тот же хэш - значение. Вот почему хеши обычно длиннее 32 бит.