CRC-32B Kalkulator hash koda
Objavljeno: 17. veljače 2025. u 18:34:07 UTC
Zadnje ažuriranje: 12. siječnja 2026. u 11:36:55 UTC
CRC-32B Hash Code Calculator
Ciklička provjera redundancije (CRC) je kod za otkrivanje pogrešaka koji se obično koristi za otkrivanje slučajnih promjena sirovih podataka. Iako tehnički nije kriptografska hash funkcija, CRC-32 se često naziva hashom zbog svoje sposobnosti da proizvede izlaz fiksne veličine (32 bita) iz ulaza promjenjive duljine. Verzija predstavljena na ovoj stranici je varijanta CRC-32B, što je zapravo samo hir u PHP jeziku koji okreće bitove (little-endian vs. big-endian u izvornom CRC-32).
Potpuno otkrivanje: nisam napisao konkretnu implementaciju hash funkcije koja se koristi na ovoj stranici. To je standardna funkcija uključena u PHP programski jezik. Napravio sam samo web sučelje da bude javno dostupno ovdje radi praktičnosti.
O CRC-32B Hash algoritmu
Nisam matematičar, ali pokušat ću objasniti ovu hash funkciju jednostavnom analogijom. Za razliku od mnogih kriptografskih hash funkcija, to nije osobito kompliciran algoritam, pa će vjerojatno biti u redu ;-)
Zamislite da šaljete pismo poštom, ali se brinete da bi se moglo oštetiti prije nego što stigne do primatelja. Na temelju sadržaja pisma izračunavate CRC-32 kontrolni zbroj i zapisujete ga na omotnicu. Kada primatelj primi pismo, također može izračunati kontrolni zbroj i provjeriti odgovara li onome što ste napisali. Ako odgovara, pismo nije oštećeno ili promijenjeno putem.
CRC-32 to radi procesom u četiri koraka:
Korak 1: Dodajte malo dodatnog prostora (podmetanja)
- CRC dodaje malo dodatnog prostora na kraju poruke (kao pakiranje kikirikija u kutiju).
- To mu pomaže da lakše uoči greške.
Korak 2: Čarobno ravnalo (polinom)
- CRC-32 koristi posebno "čarobno ravnalo" za mjerenje podataka. Zamislite ovo ravnalo kao uzorak izbočina i žljebova (ovo je polinom, ali ne brinite o toj riječi). Najčešće "ravnalo" za CRC-32 je fiksni uzorak.
Korak 3: Pomicanje ravnala (postupak dijeljenja)
- Sada CRC pomiče ravnalo preko poruke. Na svakoj točki provjerava jesu li izbočine i utori poravnati. Ako se ne poravnaju, CRC zapisuje bilješku (to se radi jednostavnim XOR-om, poput uključivanja ili isključivanja prekidača). Nastavlja pomicati i prebacivati prekidače dok ne dođe do kraja.
Korak 4: Konačni rezultat (Kontrolna suma)
- Nakon što pomaknete ravnalo preko cijele poruke, ostaje vam mali broj (dug 32 bita) koji predstavlja izvorne podatke. Ovaj broj je poput jedinstvenog otiska prsta za poruku. To je CRC-32 kontrolni zbroj.
Verzija predstavljena na stranici je CRC-32B varijanta, što je uglavnom PHP specijalnost koja mijenja redoslijed bitova (little-endian vs big-endian). Ovu verziju biste vjerojatno trebali koristiti samo ako vam je posebno potrebna kompatibilnost s drugom PHP aplikacijom koja je koristi.
Imam kalkulatore i za ostale varijante:
- Link
- Link
Dodatno čitanje
Ako vam se svidio ovaj post, možda će vam se svidjeti i ovi prijedlozi:
- CRC-32C Kalkulator hash koda
- Kalkulator hash koda Fowler-Noll-Vo FNV1a-32
- SHA3-256 Kalkulator hash koda
