CRC це коротке число, обчислене з вмісту файлу в момент його додавання до архіву. Воно діє як відбиток пальця, щоб пізніше можна було перевірити, що файл після витягнення з архіву абсолютно збігається з тим, який було додано. CRC це скорочення від cyclic redundancy check (циклічна надлишкова перевірка).
Звідки воно береться і в яких файлах міститься
Архіви містять це поле. Це означає ZIP-файли та численні формати на основі ZIP, включно з .docx, .xlsx, .epub, .jar і .apk, тоді як RAR, 7z та інші формати зберігають власні контрольні суми. У звіті воно може не відображатися для файлів .epub, хоча сам файл його містить.
Програма стиснення обчислює значення за оригінальним, нестисненим вмістом файлу і зберігає його поруч із відповідним записом, тож кожен елемент архіву має власний CRC. Ви не можете його обрати чи ввести, і це не інформація про вас або ваш комп'ютер. Воно повністю виводиться з байтів файлу.
Мета зберігання полягає в подальшому порівнянні. Коли архів розпаковується, програма знову обчислює CRC для щойно витягнутого вмісту і порівнює обидва значення. Якщо вони відрізняються, ви бачите звичне повідомлення про помилку CRC в WinZip, 7-Zip чи unzip, що означає, що витягнений файл не збігається з тим, який було додано спочатку. Це вказує на пошкодження десь по дорозі: перерване завантаження, збій диска, неповну копію. Одного пошкодженого елемента достатньо, щоб з'явилося таке повідомлення, навіть якщо все інше в архіві в порядку.
Як виглядає значення
ZIP використовує варіант під назвою CRC-32, який утворює 32-бітове число. Зазвичай воно відображається як вісім шістнадцяткових цифр, наприклад 0x8f3d2b1c, а деякі програми показують те саме значення як довге десяткове число. Це не має одиниці виміру і немає шкали, за якою одне значення краще чи гірше за інше. Порожній файл і запис теки без даних показують 0x00000000.
Чому це важливо
Це поле цілісності, тобто вбудований у архів доказ того, що вміст зберігся під час зберігання та передавання. Наявність CRC у звіті метаданих не означає, що з вашим архівом щось не так. Це просто значення, зафіксоване під час створення архіву; фактична перевірка відбувається під час розпакування, а не під час перегляду.
У нього є зручне додаткове застосування. Ідентичний вміст завжди дає однаковий CRC, тому два записи з однаковим CRC і однаковим розміром майже напевно є одним і тим самим файлом. Це робить його швидким способом знаходити дублікати всередині великого архіву.
Чим воно не є, так це засобом безпеки. CRC призначене для виявлення випадкових пошкоджень і настільки коротке, що підібрати відповідне значення навмисно цілком можливо, тому збіг CRC не є доказом того, що файл ніхто не змінював. Для цього існують криптографічні хеші, наприклад SHA-256. Оскільки значення обчислюється з вмісту, його також можна використати, щоб визначити, чи містять два різні архіви один і той самий файл, що іноді буває корисно і про що варто пам'ятати, перш ніж передавати архів комусь іншому.