Есть ли у md5 достаточно хэш-пространства для отпечатков файлов?

Я ищу быстрое, но не обязательно хорошее хеширование. Я знаю, что файлы MD5 могут быть взломаны или созданы злонамеренно, но если предположить, что я использую их не для безопасности, а только для того, чтобы убедиться, что файл такой же, как при первоначальном индексировании, достаточно ли этого?

Насколько я могу разумно использовать хеширование MD5, прежде чем я в среднем столкнусь с конфликтом?

Я хочу хранить записи базы данных как FILE(id,path,size,md5)

Должен ли я сделать md5 уникальным, или для этого недостаточно энтропии. В противном случае и MD5, какой хэш будет масштабироваться до такой степени, что я могу для всех намерений и целей назвать его уникальным. Подходит ли SHA1, даже если он медленнее.

У меня есть набор данных с N ~ = 50 000 000

en.wikipedia.org/wiki/Birthday_attack#Mat Mathematics. Кроме того, действительно нет причин не использовать SHA-2 (например, 256-битный префикс SHA-512) вместо MD5. Или CRC, если вы хотите пойти другим путем.
Ry- 26.10.2018 03:52

@ Ry- вы цитируете: «Для сравнения, от 10 ^ -18 до 10 ^ -15 - это коэффициент неисправимых битовых ошибок типичного жесткого диска. [6] Теоретически, хэши MD5 или UUID, составляющие 128 бит, должны оставаться в пределах этого диапазон примерно до 820 миллиардов документов, даже если его возможных выходов намного больше. »?

awiebe 26.10.2018 03:57

Первоначально я указывал на таблицу, но эта цитата тоже работает.

Ry- 26.10.2018 04:03

@ Ry- Итак, если я правильно понял, вы согласны с тем, что до миллиарда записей MD5, вероятно, просто отлично, и даже тогда у вас есть значительная энтропия? Не стесняйтесь публиковать ответ с некоторой ясной математикой и вашими рассуждениями. Я не совсем понимаю, какие конкретные проблемы могут представлять MD5, я только понимаю, сколько энтропии мне принесут биты.

awiebe 26.10.2018 04:12

Разве эта таблица не отвечает на ваш вопрос?

President James K. Polk 26.10.2018 04:57

@JamesKPolk Возможно, но переполнение стека работает не так, мы не можем оценить качество ответа, если он не опубликован, и есть консенсус. Если нет никого, кто хотел бы сказать «да, вот как это работает», как я могу этому доверять. Переполнение стека относится к экспертной оценке, Википедия проверяется коллегами, но не обязательно структурирована или имеет память о «доброте».

awiebe 26.10.2018 05:09

Предполагая, что голоса за ответ отражают его качество в Stack Overflow? Опасный. Но опять же, не используйте MD5.

Ry- 26.10.2018 05:45
0
7
102
0

Другие вопросы по теме