Ответ 1
Вам нужно хэшировать около 2 ^ 64 значений, чтобы получить одно столкновение между ними, в среднем, если вы не пытаетесь сознательно создавать конфликты. Конфликты хэша очень похожи на проблему День рождения.
Если вы посмотрите на два произвольных значения, вероятность столкновения составляет всего 2 -128.
Проблема с md5 заключается в том, что относительно легко создавать два разных текста, хэш которых имеет одинаковое значение. Но это требует преднамеренной атаки и не происходит случайно. И даже с преднамеренной атакой в настоящее время не представляется возможным получить простой текст, соответствующий заданному хешу.
Короче md5 безопасен для небезопасных целей, но нарушен во многих приложениях безопасности.