Miklix

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.

Aquesta pàgina es va traduir automàticament de l'anglès per tal de fer-la accessible al màxim de persones possible. Malauradament, la traducció automàtica encara no és una tecnologia perfeccionada, de manera que es poden produir errors. Si ho prefereixes, pots veure la versió original en anglès aquí:

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.


Calcula el nou codi hash

Les dades enviades o els fitxers penjats a través d'aquest formulari només es conservaran al servidor durant el temps que es triga a generar el codi hash sol·licitat. Se suprimirà immediatament abans que el resultat es torni al vostre navegador.

Dades d'entrada:



El text enviat està codificat en UTF-8. Com que les funcions hash funcionen amb dades binàries, el resultat serà diferent que si el text estigués en una altra codificació. Si necessiteu calcular un hash d'un text en una codificació específica, hauríeu de pujar un fitxer.



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:

Comparteix a BlueskyComparteix a FacebookComparteix a LinkedInComparteix a TumblrComparteix a XComparteix a LinkedInPin a Pinterest

Mikkel Bang Christensen

Sobre l'autor

Mikkel Bang Christensen
Mikkel és el creador i propietari de miklix.com. Té més de 20 anys d'experiència com a programador/desenvolupador de programari informàtic professional i actualment treballa a temps complet per a una gran corporació informàtica europea. Quan no fa blocs, dedica el seu temps lliure a una gran varietat d'interessos, aficions i activitats, que fins a cert punt es poden reflectir en la varietat de temes tractats en aquest lloc web.