CRC-32B Kalkulator zgoščene kode
Objavljeno: 17. februar 2025 ob 6:29:44 pop. UTC
Nazadnje posodobljeno: 12. januar 2026 ob 9:16:06 dop. UTC
CRC-32B Hash Code Calculator
Ciklično preverjanje redundance (CRC) je koda za zaznavanje napak, ki se pogosto uporablja za zaznavanje nenamernih sprememb surovih podatkov. Čeprav tehnično ni kriptografska zgoščevalna funkcija, se CRC-32 pogosto imenuje zgoščevalna funkcija zaradi svoje sposobnosti, da iz vhoda spremenljive dolžine ustvari izhod fiksne velikosti (32 bitov). Različica, predstavljena na tej strani, je različica CRC-32B, ki je v resnici le posebnost jezika PHP, ki obrne bite (little-endian proti big-endian v originalnem CRC-32).
Razkritje: nisem napisal posebne izvedbe funkcije hash, uporabljene na tej strani. Gre za standardno funkcijo, ki je vključena v programski jezik PHP. Zaradi priročnosti sem pripravil le spletni vmesnik, da je na voljo javnosti.
O algoritmu CRC-32B Hash
Nisem matematik, vendar bom poskušal razložiti to zgoščevalno funkcijo s preprosto analogijo. Za razliko od mnogih kriptografskih zgoščevalnih funkcij ne gre za posebej zapleten algoritem, zato bo verjetno v redu ;-)
Predstavljajte si, da pošiljate pismo po pošti, vendar vas skrbi, da bi se lahko poškodovalo, preden prispe do prejemnika. Na podlagi vsebine pisma izračunate kontrolno vsoto CRC-32 in jo zapišete na ovojnico. Ko prejemnik prejme pismo, lahko nato izračuna tudi kontrolno vsoto in preveri, ali se ujema z vašim zapisom. Če se ujema, pismo med potjo ni bilo poškodovano ali spremenjeno.
CRC-32 to počne v štirih korakih:
1. korak: Dodajte nekaj dodatnega prostora (oblazinjenje)
- CRC doda malo dodatnega prostora na koncu sporočila (kot pakiranje arašidov v škatlo).
- To mu pomaga lažje odkriti napake.
2. korak: Čarobni ravnilo (polinom)
- CRC-32 uporablja posebno "čarobno ravnilo" za merjenje podatkov. Predstavljajte si to ravnilo kot vzorec izboklin in utorov (to je polinom, vendar se ne obremenjujte s to besedo). Najpogostejše "ravnilo" za CRC-32 je fiksni vzorec.
3. korak: Pomikanje ravnila (postopek deljenja)
- Sedaj CRC drsi z ravnilom čez sporočilo. Na vsaki točki preveri, ali se izbokline in utori poravnajo. Če se ne poravnajo, CRC zabeleži (to se naredi z uporabo preprostega XOR, kot je vklop ali izklop stikal). Stikala premika in preklaplja, dokler ne doseže konca.
4. korak: Končni rezultat (kontrolna vsota)
- Ko z ravnilom povlečete čez celotno sporočilo, ostane majhna številka (dolga 32 bitov), ki predstavlja izvirne podatke. Ta številka je kot edinstven prstni odtis sporočila. To je kontrolna vsota CRC-32.
Različica, predstavljena na strani, je CRC-32B, ki je večinoma PHP posebnost, ki spreminja vrstni red bitov (little-endian proti big-endian). To različico bi verjetno morali uporabljati le, če potrebujete združljivost z drugo PHP aplikacijo, ki jo uporablja.
Imam tudi kalkulatorje za ostale variante:
- Povezava
- Povezava
Nadaljnje branje
Če vam je bila ta objava všeč, vam bodo morda všeč tudi ti predlogi:
- Kalkulator zgoščene kode SHA-512/256
- Kalkulator zgoščene kode Whirlpool
- HAVAL-192/3 Kalkulator zgoščene kode
