Miklix

CRC-32C räsikoodi kalkulaator

Avaldatud: 17. veebruar 2025, kell 18:43:58 UTC
Viimati uuendatud: 12. jaanuar 2026, kell 11:37:21 UTC

Räsikoodi kalkulaator, mis kasutab CRC-32C (Cyclic Redundancy Check 32 bit, C variant) räsifunktsiooni räsikoodi arvutamiseks tekstisisestuse või faili üleslaadimise põhjal.

See lehekülg on inglise keelest masintõlgitud, et muuta see võimalikult paljudele inimestele kättesaadavaks. Kahjuks ei ole masintõlge veel täiuslik tehnoloogia, mistõttu võivad esineda vead. Kui soovite, võite vaadata ingliskeelset originaalversiooni siin:

CRC-32C Hash Code Calculator

Tsükliline redundantsuse kontroll (CRC) on veatuvastuskood, mida tavaliselt kasutatakse toorandmete juhuslike muudatuste tuvastamiseks. Kuigi tehniliselt ei ole see krüptograafiline räsifunktsioon, nimetatakse CRC-32-d sageli räsifunktsiooniks, kuna see suudab muutuva pikkusega sisendist toota fikseeritud suurusega väljundit (32 bitti). Sellel lehel esitletud versioon on CRC-32C variant, mis on uuem, "targem" (parema veatuvastusvõimega) versioon, mida tänapäevastel protsessoritel sageli riistvarakiirendusega kiirendatakse (SSE 4.2 kaudu).

Täielik avalikustamine: ma ei kirjutanud sellel leheküljel kasutatud hash-funktsiooni konkreetset rakendust. See on standardne funktsioon, mis kuulub PHP programmeerimiskeele juurde. Ma tegin veebiliidese ainult selleks, et see siin avalikult kättesaadavaks teha.


Uue Hash-koodi arvutamine

Selle vormi kaudu esitatud andmeid või üleslaetud faile hoitakse serveris ainult nii kaua, kui kaua kulub taotletud hash-koodi genereerimiseks. Need kustutatakse vahetult enne tulemuse tagastamist teie brauserile.

Sisendandmed:



Esitatud tekst on UTF-8 kodeeritud. Kuna hash-funktsioonid töötavad binaarsete andmetega, on tulemus teistsugune kui siis, kui tekst oleks mõnes muus kodeeringus. Kui teil on vaja arvutada mingis kindlas kodeeringus oleva teksti hash, peaksite selle asemel üles laadima faili.



CRC-32C räsialgoritmi kohta

Ma ei ole matemaatik, aga püüan seda räsifunktsiooni lihtsa analoogia abil selgitada. Erinevalt paljudest krüptograafilistest räsifunktsioonidest pole see eriti keeruline algoritm, seega on see ilmselt okei ;-)

Kujuta ette, et saadad kirja posti teel, aga kardad, et see võib enne saajani jõudmist kahjustada saada. Kirja sisu põhjal arvutad CRC-32 kontrollsumma ja kirjutad selle ümbrikule. Kui saaja kirja kätte saab, saab ta samuti kontrollsumma arvutada ja vaadata, kas see vastab sinu kirjutatule. Kui vastab, siis kiri ei ole teekonnal kahjustatud ega muudetud.

CRC-32 teeb seda neljaastmelise protsessiga:

1. samm: lisage veidi lisaruumi (täidist)

  • CRC lisab sõnumi lõppu veidi lisaruumi (nagu maapähklite pakkimine karpi).
  • See aitab vigu kergemini märgata.

2. samm: Maagiline joonlaud (polünoom)

  • CRC-32 kasutab andmete mõõtmiseks spetsiaalset "maagilist joonlauda". Kujutage ette seda joonlauda kui konaruste ja soonte mustrit (see on polünoom, aga ärge selle sõna pärast muretsege). CRC-32 kõige levinum "joonlaud" on fikseeritud mustriga.

3. samm: joonlaua libistamine (jagamisprotsess)

  • Nüüd libistab CRC joonlaua üle sõnumi. Igas kohas kontrollib see, kas muhud ja sooned on joondatud. Kui need ei ole joondatud, teeb CRC märkuse (seda tehakse lihtsa XOR-operatsiooniga, näiteks lülitite sisse- ja väljalülitamisega). See libistab ja lülitab lüliteid edasi, kuni jõuab lõppu.

4. samm: Lõpptulemus (kontrollsumma)

  • Pärast joonlaua libistamist üle kogu sõnumi jääb alles väike number (32 bitti pikk), mis tähistab algandmeid. See number on nagu sõnumi unikaalne sõrmejälg. See on CRC-32 kontrollsumma.

Lehel esitletud versioon on CRC-32C variant, mis peaks olema eelistatud variant, eriti kui kasutate riistvarakiirendusega protsessorit (SSE 4.2 ja uuem) ning te ei vaja ühilduvust teiste variantidega.

Mul on kalkulaatorid ka teiste variantide jaoks:

  • Link
  • Link

Lisalugemist

Kui see postitus teile meeldis, võivad teile meeldida ka need soovitused:


Jagage Bluesky'sJaga FacebookisJagage LinkedInisJaga TumblrisJaga X-isJagage LinkedInisKinnitage Pinterestis

Mikkel Christensen

Autorist

Mikkel Christensen
Mikkel on miklix.com looja ja omanik. Tal on üle 20 aasta kogemust professionaalse programmeerija/tarkvaraarendajana ning praegu töötab ta täiskohaga suures Euroopa IT-ettevõttes. Kui ta ei kirjuta blogi, veedab ta oma vaba aega mitmesuguste huvide, hobide ja tegevustega, mis võib mingil määral kajastuda sellel veebisaidil käsitletavate teemade mitmekesisuses.