Есть ли смысл проверять MD5 файлов после их распаковки?

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

Если бы они переключились на проверку MD5 почтового индекса, было бы какое-либо значение в проверке целостности разархивированных файлов с MD5 - или это покрывается проверками CRC при разархивировании?

5 ответов

Решение

Существует вероятность того, что ваше программное обеспечение для декомпрессии сделает что-то странное или данные будут повреждены на этапе хранения. Для очень важных данных вы должны всегда проверять после сохранения их на диске.

На практике zip/unzip являются старыми программами, и риск ошибки в программе Zip, поставляемой с вашим linux, довольно низок. В первую очередь это касается нестабильных платформ или проблем с хранилищем. Я видел, как маршрутизаторы повредили образы при распаковке, и неудачные записи по NFS могут вызвать интересное повреждение файлов.

Если вы думаете, что кто-то может создать "злой" zip-архив, чтобы обойти ваши проверки, ситуация немного другая. Обратите внимание, что CRC в zip-файле не обеспечивает защиту от злоумышленника, и что MD5 - довольно старый и слабый алгоритм. Вместо этого большинство систем переходит на алгоритмы SHA к целостности файла verity (я думаю, SHA256 является самым популярным). Хэширование архива и расширенных файлов значительно усложняет атаку на MD5.

Технически да, практически, вероятно, нет.

Единственный способ убедиться, что это действительно, - это двойная проверка на безопасность и гарантия того, что файл не был поврежден при записи на диск (это было бы крайне неудачно или плохо на диске!).

Отдельные контрольные суммы файлов должны быть проверены, чтобы предотвратить столкновения с Днем Рождения... если у вас есть основания беспокоиться о таких вещах.

Как я знаю, каждый файл в zip-архиве имеет свою собственную контрольную сумму, когда вы извлекаете файл из архива, zip вычисляет контрольную сумму извлеченного файла и сравнивает ее с контрольной суммой в архиве. если контрольная сумма отличается, это предполагает, что почтовый архив поврежден. также контрольная сумма не является контрольной суммой md5, и я думаю, что ее контрольная сумма CRC также я не уверен, что считаю ее достаточно надежной, но если вы хотите быть на 100% уверены, что файл, который у вас есть, является тем же файлом, который, например, распространяет поставщик файлов CentOS iso. и не изменяется третьими лицами, чем вы можете проверить сумму MD5

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