Какой самый быстрый алгоритм хеширования, чтобы проверить, равны ли два файла? - PullRequest
54 голосов
/ 19 ноября 2009

Какой самый быстрый способ создать хеш-функцию, которая будет использоваться для проверки, равны ли два файла?

Безопасность не очень важна.

Редактировать: я отправляю файл по сетевому соединению и буду уверен, что файл с обеих сторон равен

Ответы [ 12 ]

0 голосов
/ 03 января 2019

Я помню, что старые протоколы передачи модемов, такие как Zmodem, выполняли какое-то сравнение CRC для каждого блока при отправке. CRC32, если я достаточно хорошо помню древнюю историю. Я не предлагаю вам создавать свой собственный протокол передачи, если только это не то, что вы делаете, но вы можете периодически проверять блок файла, или, может быть, выполнение хэшей каждого блока 8k будет достаточно простым процессоры для обработки. Сам не пробовал.

0 голосов
/ 13 августа 2010

вы можете проверить алгоритм, который используют разработчики samba / rsync. Я не смотрел на это подробно, но вижу, что это упоминалось все время. по-видимому, это довольно хорошо.

...