CRC-32 maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 17 d. 18:11:45 UTC
Maišos kodo skaičiuotuvas, kuris naudoja CRC-32 (ciklinio atleidimo patikrinimo 32 bitų) maišos funkciją, kad apskaičiuotų maišos kodą pagal teksto įvestį arba failo įkėlimą.CRC-32 Hash Code Calculator
Ciklinio atleidimo patikrinimas (CRC) yra klaidų aptikimo kodas, dažniausiai naudojamas atsitiktiniams neapdorotų duomenų pakeitimams aptikti. Nors CRC-32 techniškai nėra kriptografinė maišos funkcija, ji dažnai vadinama maiša, nes ji gali gaminti fiksuoto dydžio išvestį (32 bitus) iš kintamo ilgio įvesties.
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 ypač sudėtingas algoritmas, todėl tikriausiai viskas bus gerai ;-)
Įsivaizduokite, kad siunčiate laišką paštu, bet nerimaujate, kad jis gali būti sugadintas dar nepasiekęs gavėjo. Remdamiesi laiško turiniu, apskaičiuojate CRC-32 kontrolinę sumą ir užrašykite ją ant voko. Kai gavėjas gauna laišką, jis taip pat gali apskaičiuoti kontrolinę sumą ir patikrinti, ar ji atitinka tai, ką parašėte. Jei taip, laiškas nebuvo pažeistas ar pakeistas.
CRC-32 tai atlieka keturių etapų procesas:
1 veiksmas: pridėkite šiek tiek papildomos vietos (paminkštinimas)
- CRC pranešimo pabaigoje prideda šiek tiek papildomos vietos (pvz., žemės riešutų supakavimas į dėžutę).
- Tai padeda lengviau pastebėti klaidas.
2 žingsnis: stebuklinga valdovė (polinomas)
- CRC-32 naudoja specialią „stebuklingą liniuotę“ duomenims matuoti.
- Pagalvokite apie šią liniuotę kaip apie iškilimų ir griovelių raštą (tai yra daugianomas, bet nesijaudinkite dėl šio žodžio).
- Dažniausia CRC-32 „liniuote“ yra fiksuotas raštas.
3 veiksmas: liniuotės slydimas (dalijimo procesas)
- Dabar CRC perkelia liniuotę per pranešimą.
- Kiekvienoje vietoje jis patikrina, ar iškilimai ir grioveliai sutampa.
- Jei jie nesutampa, CRC padaro pastabą (tai daroma naudojant paprastą XOR, pavyzdžiui, įjungiant arba išjungiant jungiklius).
- Jis nuolat slenka ir apverčia jungiklius, kol pasiekia pabaigą.
4 veiksmas: galutinis rezultatas (kontrolinė suma)
- Paslinkę liniuote per visą pranešimą, lieka nedidelis skaičius (32 bitų ilgio), kuris atspindi pradinius duomenis.
- Šis numeris yra tarsi unikalus žinutės piršto atspaudas.
- Tai CRC-32 kontrolinė suma.
Puslapyje pateikta versija yra originali CRC-32 funkcija, kurią turėtumėte naudoti siekiant geriausio suderinamumo su kitomis sistemomis.
Taip pat turiu skaičiuotuvus kitiems variantams: