Проверка целостности файла MD5 - PullRequest
2 голосов
/ 12 ноября 2010

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

Так это единственная проверка целостности файла или есть другая вещь?

Ответы [ 3 ]

2 голосов
/ 12 ноября 2010

Любая проверка целостности, за исключением сравнения байтов, неизбежно является хеш-подобной. Тем не менее, до того, как стали широко использоваться криптографические хеши, такие как MD5, использовались более простые алгоритмы, обычно называемые «контрольными суммами». Некоторые были стандартизированы (например, попробуйте найти CRC32) в той или иной степени.

Качество этих методов варьируется в широких пределах. Контрольная сумма CRC32 может легко пропустить искажения или модификации в файле любого существенного размера, например, в то время как любая из общих криптографических функций (например, MD5 или SHA *) является довольно хорошими индикаторами целостности.

Будьте осторожны с тем, что вы используете и для какой цели - MD5 и SHA-1 больше не считаются защищенными от злонамеренных атак (они просто хороши, если вы просто используете их как «лучшую контрольную сумму», хотя).

0 голосов
/ 11 октября 2012

Хеш-функции используются из соображений целостности во многих областях, таких как сети. С другой стороны, есть слабое представление о целостности, поэтому большую часть времени избегают. Они принимают произвольную длину ввода и производят (обычно сжимают данные) до фиксированной длины. Как проверяется хеш-функция? Как вы сказали, получатель создает хеш-функцию сообщения и затем проверяет два значения. Более того, эта функция не аутентифицирует отправителя сообщения, поэтому существуют «Цифровые подписи». Когда кто-то подписывает сообщение, он не может отрицать, что он выполнил определенное действие, поэтому подписи также обеспечивают «неприятие». Таким образом, вы должны быть осторожны, какую функцию вы собираетесь использовать. MD5 слабые в отличие от SHA-1, SHA-2. Вы также можете попробовать mcrypt и scrypt, которые являются самыми сильными.

0 голосов
/ 12 ноября 2010

Обычно это все. Однако это не проверяет, откуда пришел файл. Последнее достигается цифровой подписью, которая является более сложной.

Также MD5 (, а также SHA-1 ) был сломан и поэтому не должен использоваться в сценариях, где могло произойти преднамеренное изменение файла. Следует использовать более сильные хеш-функции.

...