Вопрос
Извинения, если это дубликат вопрос;Большинство из тех, кого я нашел, нашли голову, поэтому я мог пропустить ответ.
Для данного хеша, скажем, MD5 (128 бит), каков шанс хеш-столкновения с 10 ^ 12 из них?
Моя математика не велика, я придумал это уравнение (я думаю, что это правильно), но понятия не имею, как это решить:
Collionion_Cance= 1 - (1 - (1/2 ^ 128)) ^ (10 ^ 12)
Я предполагаю, что это где-то около 10 ^ -26, это звучит правильно?
Спасибо
Редактировать: Я думаю, что моя оценка очень неверна.Смотрите Парадокс дня рождения
Решение
Что ваша формула говорит о том, чтобы иметь 2 ^ 128 + 1 значения?Я считаю, что это не говорит о том, что вероятность столкновения 1, поэтому он не может быть прав.На самом деле, я знаю, что это не - правильная формула довольно большая и громоздкая, но есть хорошие приближения с использованием экспоненциальной фракции.Так что не набирает формулы, поэтому я не буду пытаться писать формулы здесь.
Лучшее ключевое слово для поиска, вероятно, «
Другие советы
Почему такое столкновение будет проблемой?Hashes никогда не предназначен для генерации уникальных Vaues только для фальсификата быстрого сначала.
Если у вас возникли проблемы с хэш-столктами, вы используете это неправильно.