Miklix

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

Kalkulator zgoščevalne kode, ki uporablja zgoščevalno funkcijo CRC-32B (Cyclic Redundancy Check 32 bit, B variant) za izračun zgoščevalne kode na podlagi vnosa besedila ali nalaganja datoteke.

Ta stran je bila strojno prevedena iz angleščine, da bi bila dostopna čim večjemu številu ljudi. Žal strojno prevajanje še ni popolna tehnologija, zato lahko pride do napak. Če želite, si lahko izvirno angleško različico ogledate tukaj:

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.


Izračunajte novo koda Hash

Podatki, poslani prek tega obrazca, ali datoteke, naložene prek tega obrazca, bodo v strežniku shranjeni le toliko časa, kolikor je potrebno za generiranje zahtevane kode hash. Izbrisani bodo takoj, preden se rezultat vrne v vaš brskalnik.

Vhodni podatki:



Poslano besedilo je kodirano v UTF-8. Ker funkcije hash delujejo na binarnih podatkih, bo rezultat drugačen, kot če bi bilo besedilo v drugem kodiranju. Če morate izračunati hash besedila v določenem kodiranju, morate namesto tega naložiti datoteko.



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:


Delite na BlueskyDelite na FacebookuDelite na LinkedInuDelite na TumblrDelite na XDelite na LinkedInuPripni na Pinterest

Mikkel Christensen

O avtorju

Mikkel Christensen
Mikkel je avtor in lastnik spletne strani miklix.com. Ima več kot 20 let izkušenj kot profesionalni računalniški programer/razvijalec programske opreme in je trenutno za polni delovni čas zaposlen v veliki evropski IT korporaciji. Kadar ne piše bloga, svoj prosti čas posveča številnim interesom, hobijem in dejavnostim, kar se do neke mere odraža v raznolikosti tem na tem spletnem mestu.