Diccionari

Què és el CRC ZIP?

CRC, o CRC ZIP, és un valor de metadades que sovint es troba als fitxers d'arxiu. Llegeix més sobre què significa CRC i què t'indica aquest valor sobre el teu propi fitxer.

zip-crc

El CRC és un número curt calculat a partir del contingut d'un fitxer en el moment en què s'afegeix a un arxiu comprimit. Actua com una empremta digital perquè més endavant es pugui comprovar que el fitxer ha sortit de l'arxiu exactament igual que hi havia entrat. CRC és l'abreviatura de cyclic redundancy check (verificació de redundància cíclica).

D'on prové i quins fitxers el tenen

Els arxius l'incorporen. Això vol dir que els fitxers ZIP i els molts formats basats en ZIP, com .docx, .xlsx, .epub, .jar i .apk, el guarden, mentre que RAR, 7z i altres formats conserven les seves pròpies sumes de verificació. Pot ser que un informe no el mostri per als fitxers .epub, tot i que el fitxer el conté.

El programa de compressió calcula el valor sobre el contingut original i no comprimit del fitxer i el desa al costat de l'entrada corresponent, de manera que cada element d'un arxiu comprimit té el seu propi CRC. No el pots triar ni escriure, i no és informació sobre tu ni sobre l'ordinador. Es deriva exclusivament dels bytes del fitxer.

L'objectiu de desar-lo és poder fer la comparació més endavant. Quan es descomprimeix l'arxiu, el programa torna a calcular el CRC a partir del que acaba d'extreure i compara tots dos valors. Si no coincideixen, apareix el conegut missatge d'error de CRC a WinZip, 7-Zip o unzip, que indica que el fitxer extret no coincideix amb el que s'hi havia afegit originalment. Això apunta a algun dany pel camí: una baixada interrompuda, un disc amb errors, una còpia que s'ha tallat abans d'hora. Un sol element malmès ja és suficient perquè surti el missatge, encara que la resta de l'arxiu estigui bé.

Com és el valor

ZIP fa servir una variant anomenada CRC-32, que produeix un nombre de 32 bits. Normalment es mostra com vuit dígits hexadecimals, per exemple 0x8f3d2b1c, i algunes eines imprimeixen exactament el mateix valor com un nombre decimal llarg. No té unitat ni cap escala on un valor sigui millor o pitjor. Un fitxer buit, i una entrada de carpeta que no conté dades, mostren 0x00000000.

Per què és important

Això és un camp d'integritat, i és la prova interna de l'arxiu que el contingut ha sobreviscut a l'emmagatzematge i a la transferència. Trobar un CRC en un informe de metadades no vol dir que hi hagi res malament amb l'arxiu. És simplement el valor que es va enregistrar quan es va crear; la comprovació real es fa quan extreus el contingut, no quan el mires.

Té un ús addicional pràctic. Un contingut idèntic sempre produeix el mateix CRC, de manera que dues entrades amb el mateix CRC i la mateixa mida gairebé segur que són el mateix fitxer, cosa que el converteix en una manera ràpida de detectar duplicats dins d'un arxiu gran.

El que no és, és una funció de seguretat. Un CRC està dissenyat per detectar danys accidentals, i és prou curt perquè es pugui forçar un valor coincident, de manera que un CRC correcte no és una prova que ningú hagi alterat un fitxer. Per a això existeixen els hash criptogràfics com SHA-256. Com que el valor es deriva del contingut, també es pot fer servir per saber si dos arxius comprimits diferents contenen el mateix fitxer, cosa que de vegades és útil i val la pena recordar abans d'entregar un arxiu comprimit.