CRC в архиве — это контрольное значение, по которому программа обнаруживает случайное изменение данных. Аббревиатура означает cyclic redundancy check, или циклический избыточный код. В ZIP и GZIP обычно применяется 32-битный вариант, а другие форматы могут использовать собственные сочетания контрольных полей.
Посмотреть записанный CRC и доступный результат теста можно в инструменте проверки архивов Helionix. Значение удобно для диагностики, но его нельзя трактовать как доказательство безопасности или авторства.
Зачем CRC хранится в архиве
Сжатые данные чувствительны к изменению отдельных байтов. При распаковке программа должна понять, совпадает ли восстановленный результат с тем, который упаковывался. Для этого создатель вычисляет короткое контрольное число и сохраняет его в служебном поле. Распаковщик повторяет вычисление и сравнивает результат.
Что происходит при проверке
- Инструмент читает описание записи и сохранённый CRC.
- Сжатый поток последовательно декодируется.
- Для полученных байтов рассчитывается новое значение.
- Два числа сравниваются.
- Совпадение отмечается как успешный тест.
- Различие выводится как 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 не используют как самостоятельную защиту от подделки.
Что делать при ошибке
- Сохраните исходник и не пересобирайте его.
- Повторите загрузку из доверенного источника.
- Сверьте внешний размер и SHA-256, если он опубликован.
- Проверьте пароль и поддержку метода шифрования.
- Убедитесь, что присутствуют все тома.
- Переходите к восстановлению только с копией.
Частые вопросы
Нужно ли вручную сравнивать цифры?
Обычно нет: инструмент пересчитывает значение и показывает результат. Ручное сравнение полезно при анализе отчёта или эталонных данных.
Если CRC правильный, документ откроется?
Байты восстановлены без обнаруженной ошибки, но само содержимое может быть логически повреждено ещё до упаковки или требовать совместимого приложения.
Можно ли использовать CRC вместо SHA-256?
Для проверки случайной порчи — иногда достаточно, для проверки подлинности и намеренной подмены — нет.
Итог
CRC — быстрый индикатор целостности данных внутри архива. Используйте его для диагностики записей, но дополняйте внешним хешем, проверкой источника и анализом безопасности.
