Helionix

Что такое CRC в архиве и что показывает проверка

Простое объяснение CRC-32 в ZIP и GZIP: как рассчитывается контрольное значение, чем оно отличается от SHA-256 и почему не доказывает безопасность.

CRC в архиве — это контрольное значение, по которому программа обнаруживает случайное изменение данных. Аббревиатура означает cyclic redundancy check, или циклический избыточный код. В ZIP и GZIP обычно применяется 32-битный вариант, а другие форматы могут использовать собственные сочетания контрольных полей.

Посмотреть записанный CRC и доступный результат теста можно в инструменте проверки архивов Helionix. Значение удобно для диагностики, но его нельзя трактовать как доказательство безопасности или авторства.

Зачем CRC хранится в архиве

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

Что происходит при проверке

  1. Инструмент читает описание записи и сохранённый CRC.
  2. Сжатый поток последовательно декодируется.
  3. Для полученных байтов рассчитывается новое значение.
  4. Два числа сравниваются.
  5. Совпадение отмечается как успешный тест.
  6. Различие выводится как CRC error или checksum mismatch.

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

Что CRC может и чего не может

CRC помогаетCRC не гарантирует
Обнаружить случайную порчу данныхОтсутствие вирусов
Найти проблемную запись в архивеПодлинность автора
Проверить результат распаковкиЗащиту от намеренной подмены
Диагностировать сбой передачиСовпадение всего контейнера с эталоном

CRC и криптографический хеш

CRC проектируется прежде всего для обнаружения случайных ошибок и вычисляется быстро. SHA-256 предназначен для задач, где важна устойчивость к намеренной подмене. Если отправитель публикует SHA-256 по доверенному каналу, получатель может сравнить весь архив. Внутренний CRC при этом помогает отдельно протестировать записи.

Где увидеть CRC

Откройте Archive Inspector, выберите архив и найдите поле CRC или checksum в свойствах записи. Число часто отображается в шестнадцатеричном виде: буквы A–F и цифры в такой записи являются обычным представлением байтов, а не паролем.

Почему у папки может не быть CRC

Папка в архиве часто является служебной записью без собственного содержимого. Контрольное значение относится к данным файлов или потоков. В solid-архиве несколько файлов могут быть объединены в общий блок, и способ отображения проверки зависит от формата и инструмента.

CRC в ZIP, GZ и других форматах

  • ZIP: центральный и локальный заголовки содержат сведения о записи, включая CRC-32.
  • GZ: завершающая часть потока включает CRC-32 несжатых данных и размер по модулю 232.
  • 7Z: структура может хранить CRC для заголовков, потоков и файлов в зависимости от конфигурации.
  • RAR: формат использует контрольные поля блоков и файлов; детали зависят от версии.
  • TAR: классический заголовок имеет собственную сумму, но это не полный CRC содержимого каждого файла.

Почему два разных файла иногда могут иметь одинаковый CRC

CRC-32 содержит только 32 бита, поэтому число возможных значений ограничено. Для большого множества данных коллизии неизбежны, а намеренно подобрать совпадение значительно проще, чем для современного криптографического хеша. Именно поэтому CRC не используют как самостоятельную защиту от подделки.

Что делать при ошибке

  1. Сохраните исходник и не пересобирайте его.
  2. Повторите загрузку из доверенного источника.
  3. Сверьте внешний размер и SHA-256, если он опубликован.
  4. Проверьте пароль и поддержку метода шифрования.
  5. Убедитесь, что присутствуют все тома.
  6. Переходите к восстановлению только с копией.

Частые вопросы

Нужно ли вручную сравнивать цифры?

Обычно нет: инструмент пересчитывает значение и показывает результат. Ручное сравнение полезно при анализе отчёта или эталонных данных.

Если CRC правильный, документ откроется?

Байты восстановлены без обнаруженной ошибки, но само содержимое может быть логически повреждено ещё до упаковки или требовать совместимого приложения.

Можно ли использовать CRC вместо SHA-256?

Для проверки случайной порчи — иногда достаточно, для проверки подлинности и намеренной подмены — нет.

Итог

CRC — быстрый индикатор целостности данных внутри архива. Используйте его для диагностики записей, но дополняйте внешним хешем, проверкой источника и анализом безопасности.

Посмотреть CRC архива →