2

Я слышал, что программное обеспечение с открытым исходным кодом использует их. Они рассчитаны на весь файл? Например, если вы измените одну букву Моби Дика, хэш будет другим?

Мне любопытно, что они отслеживают изменения в некоторых файлах размером от 1 до 1 млн. Символов.

Есть ли здесь практический подход для подсчета баллов, сколько времени занимает вычисление хэша для файла 1k и 1M символов соответственно? Должен ли я беспокоиться об этой проблеме?

1 ответ1

2

Посмотрите на это:http://en.wikipedia.org/wiki/MD5#Applications

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

Но в упрощенном виде, если вы хешируете какой-либо контент a и применяете хорошую хеш-функцию, вы получаете двоичное хеш-значение x. Внесите любые изменения в контент a, независимо от его размера, для создания контента a '. Хеш-значение содержимого a ' теперь является новым хеш-значением x', причем каждый бит х ' с вероятностью 50% может отличаться от соответствующего бита в х.

Конечно , это означает , что если вы используете 32 - битный хэш, после того, как вы сделаете какие - либо изменения к вам есть вероятность 2 ^ -32 (0,000000023283%) до сих пор получить тот же хэш - значение. Вот почему хеши обычно длиннее 32 бит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .