Calculator de cod hash CRC-32C
Publicat: 17 februarie 2025 la 18:45:13 UTC
Ultima actualizare: 12 ianuarie 2026 la 11:37:29 UTC
CRC-32C Hash Code Calculator
Verificarea redundanței ciclice (CRC) este un cod de detectare a erorilor utilizat în mod obișnuit pentru a detecta modificările accidentale ale datelor brute. Deși nu este din punct de vedere tehnic o funcție hash criptografică, CRC-32 este adesea denumit hash datorită capacității sale de a produce o ieșire de dimensiune fixă (32 de biți) dintr-o intrare de lungime variabilă. Versiunea prezentată pe această pagină este varianta CRC-32C, care este o versiune mai nouă, „mai inteligentă” (cu o detectare mai bună a erorilor), care este adesea accelerată hardware pe procesoarele moderne (prin SSE 4.2).
Dezvăluire completă: nu am scris implementarea specifică a funcției hash utilizată pe această pagină. Aceasta este o funcție standard inclusă în limbajul de programare PHP. Am creat doar interfața web pentru a o pune la dispoziția publicului aici pentru comoditate.
Despre algoritmul de hash CRC-32C
Nu sunt matematician, dar voi încerca să explic această funcție hash cu o analogie simplă. Spre deosebire de multe dintre funcțiile hash criptografice, nu este un algoritm deosebit de complicat, așa că probabil va fi în regulă ;-)
Imaginează-ți că trimiți o scrisoare prin poștă, dar te temi că s-ar putea deteriora înainte de a ajunge la destinatar. Pe baza conținutului scrisorii, calculezi o sumă de control CRC-32 și o scrii pe plic. Când destinatarul primește scrisoarea, acesta poate calcula și suma de control și poate vedea dacă se potrivește cu ceea ce ai scris. Dacă se potrivește, scrisoarea nu a fost deteriorată sau modificată pe parcurs.
Modul în care CRC-32 face acest lucru este un proces în patru pași:
Pasul 1: Adăugați spațiu suplimentar (umplutură)
- CRC adaugă puțin spațiu suplimentar la sfârșitul mesajului (cum ar fi împachetarea alunelor într-o cutie).
- Acest lucru îl ajută să identifice mai ușor erorile.
Pasul 2: Rigla magică (Polinomul)
- CRC-32 folosește o „riglă magică” specială pentru a măsura datele. Gândiți-vă la această riglă ca la un model de proeminențe și caneluri (acesta este polinomul, dar nu vă faceți griji pentru acest cuvânt). Cea mai comună „riglă” pentru CRC-32 este un model fix.
Pasul 3: Glisarea riglei (procesul de divizare)
- Acum CRC glisează rigla peste mesaj. În fiecare punct, verifică dacă proeminențele și canelurile se aliniază. Dacă nu se aliniază, CRC notează (acest lucru se face folosind XOR simplu, cum ar fi comutarea întrerupătoarelor la pornire sau oprire). Continuă să gliseze și să comute întrerupătoarele până când ajunge la capăt.
Pasul 4: Rezultatul final (Suma de control)
- După ce parcurgeți întregul mesaj cu rigla, rămâneți cu un număr mic (32 de biți lungime) care reprezintă datele originale. Acest număr este ca o amprentă unică pentru mesaj. Aceasta este suma de control CRC-32.
Versiunea prezentată pe pagină este varianta CRC-32C, care ar trebui să fie varianta preferată, mai ales dacă utilizați un procesor cu accelerare hardware (SSE 4.2 și versiuni ulterioare) și nu aveți nevoie de compatibilitate cu alte variante.
Am calculatoare și pentru celelalte variante:
- Legătură
- Legătură
Lectură suplimentară
Dacă ți-a plăcut această postare, s-ar putea să-ți placă și aceste sugestii:
