Miklix

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

Maišos kodo skaičiuoklė, naudojanti CRC-32 (32 bitų ciklinio perteklinio patikrinimo) maišos funkciją, maišos kodui apskaičiuoti pagal teksto įvestį arba įkeltą failą.

Šis puslapis buvo mašininiu būdu išverstas iš anglų kalbos, kad juo galėtų naudotis kuo daugiau žmonių. Deja, mašininis vertimas dar nėra tobula technologija, todėl gali pasitaikyti klaidų. Jei pageidaujate, originalią versiją anglų kalba galite peržiūrėti čia:

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.


Apskaičiuokite naująjį slaptažodžių kodą

Šioje formoje pateikti duomenys arba įkelti failai serveryje bus saugomi tik tiek laiko, kiek reikia prašomam hash kodui sugeneruoti. Jie bus ištrinti prieš pat rezultatui grįžtant į naršyklę.

Įvesties duomenys:



Pateiktas tekstas yra UTF-8 koduotas. Kadangi hash funkcijos veikia su dvejetainiais duomenimis, rezultatas bus kitoks nei tuo atveju, jei tekstas būtų koduotas kitu kodu. Jei jums reikia apskaičiuoti teksto hash tam tikra kodavimo forma, vietoj to turėtumėte įkelti failą.



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:


Pasidalinkite „Bluesky“.Dalintis FacebookBendrinkite „LinkedIn“.Bendrinkite „Tumblr“.Dalintis XBendrinkite „LinkedIn“.Prisegti prie Pinterest

Mikkel Christensen

Apie autorių

Mikkel Christensen
Mikkelis yra miklix.com kūrėjas ir savininkas. Jis turi daugiau nei 20 metų profesionalaus kompiuterių programuotojo ir programinės įrangos kūrėjo patirtį ir šiuo metu visą darbo dieną dirba didelėje Europos IT korporacijoje. Kai jis nerašo tinklaraščio, laisvalaikį skiria įvairiems interesams, pomėgiams ir užsiėmimams, kurie tam tikra prasme gali atsispindėti šioje svetainėje nagrinėjamų temų įvairovėje.