Miklix

CRC-32B maišos kodo skaičiuoklė

Paskelbta: 2025 m. vasario 17 d. 18:26:15 UTC

Maišos kodo skaičiuoklė, kuri naudoja CRC-32B (ciklinio atleidimo patikrinimo 32 bitų, B varianto) maišos funkciją, kad apskaičiuotų maišos kodą pagal teksto įvestį arba failo įkėlimą.

Š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-32B 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. Šiame puslapyje pateikta versija yra CRC-32B variantas, kuris iš tikrųjų yra tik PHP kalbos keistenybė, kuri apverčia bitus (originalioje CRC-32 versijoje „Little-endian“ ir „Big-endian“).

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-32B 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, pvz., į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 CRC-32B variantas, kuris dažniausiai yra PHP keistenybė, kuri keičia bitų tvarką (little-endian vs big-endian). Tikriausiai turėtumėte naudoti šią versiją tik tuo atveju, jei jums reikia suderinamumo su kita PHP programa, kuri ją naudoja.

Taip pat turiu skaičiuotuvus kitiems variantams:


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

Mikkel Bang Christensen

Apie autorių

Mikkel Bang 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.