Ошибка CRC в ZIP появляется, когда контрольное значение, рассчитанное по декодированным данным, не совпадает со значением из заголовка записи. Это означает, что конкретный поток нельзя подтвердить как исходный. Причиной может быть повреждение, неполное копирование, неверный пароль или сбой декодирования. Остальные элементы архива при этом способны оставаться исправными.
Проверить все записи по очереди и сохранить прошедшие тест можно через инструмент восстановления архива Helionix. Работайте с копией и не заменяйте оригинальный ZIP новым результатом до завершения проверки.
Что CRC сообщает на практике
Спецификация ZIP предусматривает CRC-32 для каждого файла. При нормальном извлечении архиватор получает исходные байты и пересчитывает значение. Совпадение подтверждает отсутствие обнаруженной случайной ошибки, но не гарантирует безопасность или подлинность. Несовпадение не показывает, какой байт испорчен, и не содержит информации для его автоматического восстановления.
| Ситуация | Почему возникает CRC error | Что проверить |
|---|---|---|
| Одна запись не читается | Повреждён её сжатый поток | Сохранить остальные и найти копию файла |
| Все защищённые записи ошибочны | Вероятно неверный пароль или метод | Проверить известный пароль и совместимость |
| Ошибки ближе к концу | Файл обрезан или не полностью скачан | Сравнить размер и получить ZIP повторно |
| CRC различается после переноса | Сбой носителя или передачи | Сравнить внешний SHA-256 копий |
Как спасти исправные файлы
- Сделайте неизменяемую копию проблемного ZIP.
- Повторите скачивание из доверенного источника, если это возможно.
- Откройте проверку и восстановление CRC.
- Запустите чтение каждой записи, а не только просмотр каталога.
- Сформируйте список успешно проверенных файлов.
- Сохраните их в новый ZIP под другим именем.
- Проблемную запись оставьте в отчёте и ищите другую копию.
- Повторно протестируйте новый контейнер.
Можно ли исправить сам повреждённый файл
CRC не является кодом коррекции ошибок, поэтому по одному ожидаемому значению нельзя восстановить утраченный участок произвольных данных. Иногда формат файла устойчив к частичной порче: текст до повреждения читается, изображение отображает часть строк, медиапоток воспроизводится до обрыва. Такой результат следует считать частичным и хранить отдельно от подтверждённого оригинала.
CRC и пароль
У защищённой записи неправильный пароль приводит к неверному декодированному потоку и, как следствие, к ошибке контроля. Используйте только известный пароль к своему архиву. Не запускайте перебор: он не устраняет физическое повреждение и может быть неправомерным для чужих данных. Если тот же пароль открывает другие записи, а одна продолжает ошибаться, вероятнее локальная порча.
Почему список файлов открывается без ошибки
Каталог ZIP содержит метаданные и может быть целым, даже если сжатые данные одной записи повреждены. Быстрый просмотр имён не читает каждый поток. Полный тест должен декодировать все файлы и сверить их CRC. Поэтому фраза «архив открывается» описывает только структуру, а не гарантирует успешное извлечение.
Как предотвратить повторение
Храните внешний SHA-256 рядом с архивом, используйте надёжный носитель, безопасное извлечение устройства и проверку после копирования. Для важных данных держите несколько независимых копий. Перед удалением исходной папки полностью прочитайте новый ZIP, а не ограничивайтесь фактом его создания.
CRC записи и хеш всего ZIP
Эти проверки отвечают на разные вопросы. CRC конкретной записи показывает, согласуется ли извлечённый файл с её заголовком. SHA-256 контейнера помогает понять, совпадает ли локальная копия с экземпляром отправителя или сервера. Если внешний хеш различается, лучше заново получить весь архив. Если он совпадает, но одна запись не проходит CRC у обеих сторон, дефект уже находится в исходном контейнере и нужна другая версия внутренних данных.
Частые вопросы
Можно ли игнорировать CRC?
Нет, если нужна точная исходная версия. Файл может визуально открываться, но содержать незаметное повреждение. Используйте его только как частично спасённый материал.
Почему повторное скачивание часто помогает?
Потому что дефект мог возникнуть только в локальной передаче, а исходник на сервере остаётся исправным.
Новый ZIP будет иметь тот же размер?
Не обязательно. Метод сжатия и метаданные изменятся, а повреждённые записи могут быть исключены. Проверяйте состав и исходные размеры данных.
Итог
CRC error — это сигнал недостоверности конкретной записи, а не приговор всему архиву. Прочитайте каждый файл, перенесите прошедшие проверку элементы в новый контейнер и ищите резервную версию повреждённого содержимого.
