Miklix

Calculator de cod hash CRC-32C

Publicat: 17 februarie 2025 la 18:45:13 UTC

Calculator de cod hash care utilizează funcția hash CRC-32C (Cyclic Redundancy Check 32 bit, variant C) pentru a calcula un cod hash pe baza introducerii de text sau a încărcării fișierului.

Această pagină a fost tradusă automat din limba engleză pentru a o face accesibilă cât mai multor persoane. Din păcate, traducerea automată nu este încă o tehnologie perfecționată, astfel încât pot apărea erori. Dacă preferați, puteți vizualiza versiunea originală în limba engleză aici:

CRC-32C Hash Code Calculator

Cyclic Redundancy Check (CRC) este un cod de detectare a erorilor folosit în mod obișnuit pentru a detecta modificări 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) de la intrare cu lungime variabilă. Versiunea prezentată pe această pagină este varianta CRC-32C, care este o versiune mai nouă, „mai inteligentă” (detecție 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.


Calculați noul cod Hash

Datele transmise sau fișierele încărcate prin intermediul acestui formular vor fi păstrate pe server doar atât timp cât este necesar pentru a genera codul hash solicitat. Acestea vor fi șterse imediat înainte ca rezultatul să fie returnat browserului dumneavoastră.

Date de intrare:



Textul trimis este codificat UTF-8. Deoarece funcțiile hash operează cu date binare, rezultatul va fi diferit decât dacă textul ar fi în altă codificare. Dacă trebuie să calculați un hash al unui text într-o anumită codificare, trebuie să încărcați un fișier.



Despre algoritmul 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 bine ;-)

Imaginează-ți că trimiți o scrisoare prin poștă, dar ești îngrijorat 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, el sau ea poate calcula și suma de control și poate vedea dacă se potrivește cu ceea ce ați scris. Dacă se întâmplă, scrisoarea nu a fost deteriorată sau schimbată pe parcurs.

Modul în care CRC-32 face acest lucru este un proces în patru etape:

Pasul 1: Adăugați puțin spațiu suplimentar (căptușeală)

  • CRC adaugă puțin spațiu suplimentar la sfârșitul mesajului (cum ar fi ambalarea 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 denivelări ș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: alunecarea riglei (procesul de împărțire)

  • Acum CRC glisează rigla peste mesaj.
    • La fiecare loc, verifică dacă denivelările și canelurile se aliniază.
    • Dacă nu se aliniază, CRC face o notă (acest lucru se face folosind XOR simplu, cum ar fi pornirea sau oprirea comutatoarelor).
    • Continuă să gliseze și să rotească întrerupătoarele până ajunge la capăt.

Pasul 4: rezultatul final (suma de control)

  • După ce glisați rigla pe întregul mesaj, rămâneți cu un număr mic (lungime de 32 de biți) care reprezintă datele originale.
    • Acest număr este ca o amprentă digitală 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 care are accelerat hardware (SSE 4.2 și mai târziu) și nu aveți nevoie de compatibilitate cu alte variante.

Am calculatoare și pentru celelalte variante:

Distribuie pe BlueskyDistribuie pe FacebookDistribuie pe LinkedInDistribuie pe TumblrDistribuie pe XDistribuie pe LinkedInPin pe Pinterest

Mikkel Bang Christensen

Despre autor

Mikkel Bang Christensen
Mikkel este creatorul și proprietarul miklix.com. El are peste 20 de ani de experiență ca programator de calculatoare/dezvoltator software profesionist și este în prezent angajat cu normă întreagă pentru o mare corporație europeană de IT. Atunci când nu scrie pe blog, își petrece timpul liber cu o gamă largă de interese, hobby-uri și activități, care se pot reflecta într-o anumită măsură în varietatea de subiecte abordate pe acest site.