Calculadora de codi hash CRC-32C
Publicat: 5 de març del 2025, a les 19:24:35 UTC
Calculadora de codi hash que utilitza la funció hash CRC-32C (Comprovació de redundancia cíclica de 32 bits, variant C) per calcular un codi hash basat en l'entrada de text o la càrrega de fitxers.CRC-32C Hash Code Calculator
La comprovació de redundància cíclica (CRC) és un codi de detecció d'errors que s'utilitza habitualment per detectar canvis accidentals a les dades en brut. Tot i que tècnicament no és una funció hash criptogràfica, CRC-32 sovint es coneix com a hash a causa de la seva capacitat de produir una sortida de mida fixa (32 bits) a partir d'una entrada de longitud variable. La versió que es presenta en aquesta pàgina és la variant CRC-32C, que és una versió més nova, "més intel·ligent" (millor detecció d'errors) que sovint s'accelera per maquinari a les CPU modernes (mitjançant SSE 4.2).
Divulgació completa: no vaig escriure la implementació específica de la funció hash utilitzada en aquesta pàgina. És una funció estàndard inclosa amb el llenguatge de programació PHP. Només he creat la interfície web per fer-la disponible públicament aquí per comoditat.
Sobre l'algoritme hash CRC-32C
No sóc matemàtic, però intentaré explicar aquesta funció hash amb una simple analogia. A diferència de moltes de les funcions hash criptogràfiques, no és un algorisme especialment complicat, així que probablement anirà bé ;-)
Imagineu que esteu enviant una carta per correu, però us preocupa que es faci malbé abans que arribi al destinatari. En funció del contingut de la carta, calculeu una suma de control CRC-32 i l'escriu al sobre. Quan el destinatari rep la carta, també pot calcular la suma de control i veure si coincideix amb el que heu escrit. Si ho fa, la lletra no s'ha fet malbé ni ha canviat al llarg del camí.
La manera en què CRC-32 ho fa és un procés de quatre passos:
Pas 1: afegiu una mica d'espai addicional (encoixinat)
- CRC afegeix una mica d'espai addicional al final del missatge (com envasar cacauets en una caixa).
- Això l'ajuda a detectar errors més fàcilment.
Pas 2: el regle màgic (el polinomi)
- CRC-32 utilitza un "regle màgic" especial per mesurar les dades.
- Penseu en aquest regle com un patró de cops i solcs (aquest és el polinomi, però no us preocupeu per aquesta paraula).
- El "regle" més comú per a CRC-32 és un patró fix.
Pas 3: lliscar la regla (procés de divisió)
- Ara CRC fa lliscar la regla pel missatge.
- A cada punt, comprova si els cops i les ranures s'alineen.
- Si no s'alineen, CRC fa una nota (això es fa mitjançant XOR simple, com activar o desactivar interruptors).
- Continua lliscant i girant els interruptors fins que arriba al final.
Pas 4: el resultat final (la suma de control)
- Després de fer lliscar la regla per tot el missatge, us queda un nombre petit (32 bits de llarg) que representa les dades originals.
- Aquest número és com una empremta digital única per al missatge.
- Aquesta és la suma de control CRC-32.
La versió que es presenta a la pàgina és la variant CRC-32C, que hauria de ser la variant preferida, sobretot si feu servir una CPU que la tingui accelerada per maquinari (SSE 4.2 i posteriors) i no necessiteu compatibilitat amb altres variants.
També tinc calculadores per a les altres variants: