CRC-32C räsikoodi kalkulaator
Avaldatud: 17. veebruar 2025, kell 18:43:58 UTC
Viimati uuendatud: 12. jaanuar 2026, kell 11:37:21 UTC
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.
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:
