Создайте свои собственные коллизии MD5
Я делаю презентацию о столкновениях MD5 и хочу дать людям представление о вероятности столкновения.
Было бы хорошо иметь два блока текста, которые хэшируют одну и ту же вещь, и объяснить, сколько комбинаций [a-zA-Z] было необходимо до того, как я столкнулся с коллизией.
Очевидный ответ - хэшировать каждую возможную комбинацию, пока два хэша не получат одинаковое значение Итак, как бы вы пошли о кодировании этого. В качестве быстрого эксперимента я попытался хэшировать каждую комбинацию из 5 столбцов [A-Z], сохраняя ее в хеш-таблице .net и перехватывая исключение коллизий. Две проблемы с этим - хэш-таблица в конце концов истекает, и я почти уверен, что мне понадобится ОЧЕНЬ больше символов.
Очевидно, что эта структура данных слишком велика, чтобы обрабатывать ее в памяти, поэтому теперь мне нужно подключить базу данных. Также звучит как хороший проект для тестирования лазури - немного похожеэти ребята.
Может ли кто-нибудь указать мне в направленииэффективное способ сделать это?