Miklix

CRC-32C Hash kóða reiknivél

Birt: 19. mars 2025 kl. 20:52:18 UTC

Hash kóða reiknivél sem notar CRC-32C (Cyclic Redundancy Check 32 bita, C afbrigði) kjötkássaaðgerð til að reikna út kjötkássakóða byggt á textainnslátt eða upphleðslu skráar.

Þessi síða var vélþýdd úr ensku til að gera hana aðgengilega sem flestum. Því miður er vélþýðing ekki enn fullkomin tækni, svo villur geta komið upp. Ef þú vilt geturðu skoðað upprunalegu ensku útgáfuna hér:

CRC-32C Hash Code Calculator

Cyclic Redundancy Check (CRC) er villugreiningarkóði sem almennt er notaður til að greina breytingar fyrir slysni á hráum gögnum. Þó að það sé ekki tæknilega dulmáls kjötkássaaðgerð, er CRC-32 oft vísað til sem kjötkássa vegna getu þess til að framleiða fasta stærð úttaks (32 bita) frá breytilegri lengd inntaks. Útgáfan sem kynnt er á þessari síðu er CRC-32C afbrigðið, sem er nýrri, „snjallari“ (betri villugreining) útgáfa sem er oft vélbúnaðarhraða á nútíma örgjörva (í gegnum SSE 4.2).

Full upplýsingagjöf: Ég skrifaði ekki sérstaka útfærslu kjötkássaaðgerðarinnar sem notuð er á þessari síðu. Það er staðlað aðgerð sem fylgir PHP forritunarmálinu. Ég gerði vefviðmótið aðeins til að gera það almennt aðgengilegt hér til hægðarauka.


Reiknaðu nýjan kjötkássakóða

Gögn sem send eru inn eða skrám sem hlaðið er upp í gegnum þetta eyðublað verða aðeins geymd á þjóninum eins lengi og það tekur að búa til umbeðinn kjötkássakóða. Henni verður eytt strax áður en niðurstaðan er send aftur í vafrann þinn.

Inntaksgögn:



Innsendur texti er UTF-8 kóðaður. Þar sem kjötkássaaðgerðir starfa á tvöfaldri gögnum verður niðurstaðan önnur en ef textinn væri í annarri kóðun. Ef þú þarft að reikna út kjötkássa af texta í tiltekinni kóðun ættirðu að hlaða upp skrá í staðinn.



Um CRC-32C Hashaútreikning

Ég er ekki stærðfræðingur, en ég mun reyna að útskýra þessa hash aðgerð með einfaldri samanburði. Ólíkt mörgum af þeim krypto-hashaútreikningum er þetta ekki sérstaklega flókin aðferð, svo það ætti að vera í lagi ;-)

Ímyndaðu þér að þú sért að senda bréf með pósti, en þú ert varkár vegna þess að það gæti skemmst áður en það kemst til móttakanda. Með því að skoða innihald bréfsins reiknarðu út CRC-32 stuðul og skrifar það á umslagið. Þegar móttakandinn fær bréfið getur hann líka reiknað út stuðulinn og séð hvort hann passi við það sem þú skrifaðir. Ef það passar var bréfið ekki skemmt eða breytt á leiðinni.

Hvernig CRC-32 framkvæmir þetta er ferli sem skiptist í fjóra þætti:

Skref 1: Bæta við smá plássi (Padding)

  • CRC bætir við smá aukarými í lok skilaboðanna (eins og pakkarískorn í kassa).
  • Þetta hjálpar til við að greina villur auðveldlega.

Skref 2: Galdrastafurinn (Pólínómíal)

  • CRC-32 notar sérstakan "galdrastaf" til að mæla gögnin.
    • Ímyndaðu þér þennan staf sem mynstrið af bólum og raufum (þetta er pólínómíal, en þú þarft ekki að hafa áhyggjur af því orðinu).
    • Algengasti "stafurinn" fyrir CRC-32 er fast mynstur.

Skref 3: Rúlla stafnum (Deilingarferlið)

  • Nú rúllar CRC stafnum yfir skilaboðin.
    • Á hverju stað er það athugað hvort bólur og raufur passi saman.
    • Ef þau passa ekki saman, tekur CRC eftir því (þetta er gert með einföldum XOR, eins og að kveikja eða slökkva á rofum).
    • Það heldur áfram að rúlla og kveikja/slökkva á rofum þar til það nær endanum.

Skref 4: Lokaútkomu (Stuðullinn)

  • Eftir að hafa rúllað stafnum yfir allt skilaboðin, stendur þú eftir með lítið númer (32 bita langt) sem táknar upprunalegu gögnin.
    • Þetta númer er eins og einstakt fingrafar fyrir skilaboðin.
    • Þetta er CRC-32 stuðullinn.

Útgáfan sem kynnt er á síðunni er CRC-32C afbrigðið, sem ætti að vera fyrir valinu, sérstaklega ef þú ert að nota CPU sem hefur það hraðvirkjað (SSE 4.2 og síðar) og þarft ekki samhæfi við önnur afbrigði.

Ég hef einnig reiknivél fyrir önnur afbrigði:

Deildu á BlueskyDeildu á FacebookDeildu á LinkedInDeildu á TumblrDeildu á XDeildu á LinkedInFestu á Pinterest

Mikkel Christensen

Um höfundinn

Mikkel Christensen
Mikkel er skapari og eigandi miklix.com. Hann hefur yfir 20 ára reynslu sem faglegur tölvuforritari/hugbúnaðarhönnuður og er nú í fullu starfi hjá stóru evrópsku upplýsingatæknifyrirtæki. Þegar hann er ekki að blogga eyðir hann frítíma sínum í margs konar áhugamál, áhugamál og athafnir, sem geta að einhverju leyti endurspeglast í margs konar efni sem fjallað er um á þessari vefsíðu.