Вы, похоже, задаете 2 отдельных, но связанных вопроса.
Вероятность случайного столкновения в значительной степени зависит от размера данных, с которыми вы работаете;чем больше строк вы хэшируете, тем больше вероятность столкновения.См. Первую таблицу в Wikipedia: Attack Birthday для точных вероятностей.MD5 использует 128 битов, поэтому для достижения вероятности коллизии 50% вам понадобятся строки 2.2E19.
Однако, хотя случайные коллизии являются подходящим редким случаем для небольших наборов данных, было показано, что MD5 совершенно небезопасен противпреднамеренные столкновения.Согласно статье Википедии о MD5 , существует атака столкновений, которая может быть запущена за секунды на процессоре Pentium4 2,6 ГГц.В целях безопасности MD5 полностью сломан и считается с 2005 года.
Если вам нужно что-то безопасно хэшировать, используйте один из более современных алгоритмов хэширования, например SHA-2, SHA-3 (когдаэто разработка закончена), или Whirlpool.