stringtranslate.com

Простая проверка файла

Простая проверка файлов ( SFV ) — это формат файла для хранения контрольных сумм CRC32 файлов для проверки целостности файлов. SFV используется для проверки того, что файл не был поврежден , но он не проверяет подлинность файла иным образом . Расширение файла обычно используется для файлов SFV. [1].sfv

Контрольная сумма

Файлы могут быть повреждены по разным причинам, включая неисправные носители данных , ошибки при передаче , ошибки записи во время копирования или перемещения и программные ошибки . Проверка SFV гарантирует, что файл не был поврежден, сравнивая значение хэша CRC файла с ранее рассчитанным значением. [1] Из-за природы хэш-функций коллизии хэшей могут приводить к ложным срабатываниям , но вероятность коллизий обычно незначительна при случайном повреждении. (Количество возможных контрольных сумм ограничено, хотя и велико, так что при любой схеме контрольных сумм многие файлы будут иметь одинаковую контрольную сумму. Однако вероятность того, что поврежденный файл будет иметь ту же контрольную сумму, что и его оригинал, чрезвычайно мала, если только она не создана намеренно для сохранения контрольной суммы.)

SFV не может использоваться для проверки подлинности файлов, так как CRC32 не является хэш-функцией, устойчивой к коллизиям ; даже если файл хэш-суммы не был подделан, для злоумышленника вычислительно тривиально вызвать преднамеренные коллизии хэшей, что означает, что вредоносное изменение в файле не обнаруживается сравнением хэшей. В криптографии эта атака называется атакой коллизий . По этой причине утилиты md5sum и sha1sum часто предпочитаются в операционных системах Unix , которые используют криптографические хэш-функции MD5 и SHA-1 соответственно.

Даже ошибка в одном бите приводит к сбою CRC SFV и криптографического хеша md5sum, требуя повторной загрузки всего файла. Утилиты Parchive и rsync часто являются предпочтительными для проверки того, что файл не был случайно поврежден при передаче, поскольку они могут исправить распространенные небольшие ошибки с гораздо более короткой загрузкой.

Несмотря на недостатки формата SFV, он популярен из-за относительно небольшого количества времени, необходимого утилитам SFV для расчета контрольных сумм CRC32, по сравнению со временем, необходимым для расчета криптографических хэшей, таких как MD5 или SHA-1.

SFV использует простой текстовый файл, содержащий одну строку для каждого файла и его контрольную сумму [1] в формате FILENAME<пробелы>CHECKSUM . Любая строка, начинающаяся с точки с запятой ';', считается комментарием и игнорируется для целей проверки файла. Разделителем между именем файла и контрольной суммой всегда является один или несколько пробелов; табуляция никогда не используется. Пример файла SFV:

; Это комментарийфайл_один.zip c45ad668файл_два.zip 7903b8e6файл_three.zip e99a65fb

Утилита командной строки

Примером кроссплатформенной утилиты командной строки с открытым исходным кодом , которая выводит контрольные суммы crc32, является 7-Zip . [2]

Многие дистрибутивы Linux включают в себя простой инструмент командной строки cksfvдля проверки контрольных сумм.

Смотрите также

Ссылки

  1. ^ abc Wang, Wallace (2004). Украдите эту книгу о файлообмене: что вам не расскажут о файлообмене . ISBN 9781593270940.
  2. ^ "h (Hash) command", 7-Zip , 23 мая 2016 г.

Дальнейшее чтение

Внешние ссылки

только для Windows