CRC-32 maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 17 d. 18:11:45 UTC
Paskutinį kartą atnaujinta: 2026 m. sausio 12 d. 09:14:51 UTC
CRC-32 Hash Code Calculator
Ciklinis perteklinis patikrinimas (CRC) yra klaidų aptikimo kodas, dažniausiai naudojamas atsitiktiniams neapdorotų duomenų pakeitimams aptikti. Nors techniškai tai nėra kriptografinė maišos funkcija, CRC-32 dažnai vadinama maišos funkcija dėl savo gebėjimo iš kintamo ilgio įvesties sukurti fiksuoto dydžio išvestį (32 bitai).
Visiškai atskleidžiu informaciją: šiame puslapyje naudojamos hash funkcijos konkrečios realizacijos nerašiau. Tai standartinė PHP programavimo kalbos funkcija. Aš tik sukūriau žiniatinklio sąsają, kad patogumo dėlei ji būtų viešai prieinama.
Apie CRC-32 maišos algoritmą
Nesu matematikas, bet pabandysiu paaiškinti šią maišos funkciją paprasta analogija. Skirtingai nuo daugelio kriptografinių maišos funkcijų, tai nėra itin sudėtingas algoritmas, tad tikriausiai viskas bus gerai ;-)
Įsivaizduokite, kad siunčiate laišką paštu, bet nerimaujate, kad jis gali būti sugadintas, kol pasieks gavėją. Remdamiesi laiško turiniu, apskaičiuojate CRC-32 kontrolinę sumą ir užrašote ją ant voko. Gavėjas, gavęs laišką, taip pat gali apskaičiuoti kontrolinę sumą ir patikrinti, ar ji atitinka jūsų parašytą informaciją. Jei taip, laiškas nebuvo sugadintas ar pakeistas.
CRC-32 tai atlieka keturių etapų procesu:
1 veiksmas: pridėkite šiek tiek papildomos vietos (paminkštinimas)
- CRC prideda šiek tiek papildomos vietos pranešimo pabaigoje (pvz., pakuojant žemės riešutus į dėžutę).
- Tai padeda lengviau pastebėti klaidas.
2 veiksmas: Magiškasis valdovas (polinomas)
- CRC-32 naudoja specialią „stebuklingą liniuotę“ duomenims matuoti. Įsivaizduokite šią liniuotę kaip iškilimų ir griovelių raštą (tai yra daugianaris, bet dėl šio žodžio nesijaudinkite). Dažniausia CRC-32 „liniuotė“ yra fiksuoto rašto.
3 veiksmas: liniuotės stumdymas (dalybos procesas)
- Dabar CRC stumdo liniuotę per pranešimą. Kiekvienoje vietoje patikrinama, ar iškilimai ir grioveliai sutampa. Jei jie nesutampa, CRC padaro pastabą (tai atliekama naudojant paprastą XOR, pvz., įjungiant arba išjungiant jungiklius). Jis toliau stumdo ir perjungia jungiklius, kol pasiekia galą.
4 veiksmas: galutinis rezultatas (kontrolinė suma)
- Perbraukus liniuotę per visą pranešimą, lieka nedidelis skaičius (32 bitų ilgio), kuris žymi pradinius duomenis. Šis skaičius yra tarsi unikalus pranešimo piršto atspaudas. Tai yra CRC-32 kontrolinė suma.
Puslapyje pateikta versija yra originali CRC-32 funkcija, kurią turėtumėte naudoti, kad užtikrintumėte geriausią suderinamumą su kitomis sistemomis.
Turiu ir kitų variantų skaičiuotuvus:
- Nuoroda
- Nuoroda
Papildoma literatūra
Jei jums patiko šis įrašas, jums taip pat gali patikti šie pasiūlymai:
- CRC-32C maišos kodo skaičiuoklė
- HAVAL-256/5 maišos kodo skaičiuoklė
- Tiger-128/3 maišos kodo skaičiuoklė
