Miklix

Llogaritësi i kodit hash CRC-32B

Publikuar: 17 shkurt 2025 në 6:32:01 e pasdites, UTC

Llogaritësi i kodit hash që përdor funksionin hash CRC-32B (Cyclic Redundancy Check 32 bit, B variant) për të llogaritur një kod hash bazuar në futjen e tekstit ose ngarkimin e skedarit.

Kjo faqe u përkthye me makinë nga anglishtja për ta bërë të aksesueshme për sa më shumë njerëz. Fatkeqësisht, përkthimi me makinë nuk është ende një teknologji e përsosur, kështu që mund të ndodhin gabime. Nëse preferoni, mund ta shikoni versionin origjinal në anglisht këtu:

CRC-32B Hash Code Calculator

Kontrolli i tepricës ciklike (CRC) është një kod për zbulimin e gabimeve që përdoret zakonisht për të zbuluar ndryshimet aksidentale në të dhënat e papërpunuara. Ndonëse nuk është teknikisht një funksion hash kriptografik, CRC-32 shpesh përmendet si hash për shkak të aftësisë së tij për të prodhuar një dalje me madhësi fikse (32 bit) nga inputet me gjatësi të ndryshueshme. Versioni i paraqitur në këtë faqe është varianti CRC-32B, i cili është në të vërtetë vetëm një çuditshmëri në gjuhën PHP që i kthen pjesët përreth (little-endian vs big-endian në origjinalin CRC-32).

Zbulimi i plotë: Unë nuk kam shkruar zbatimin specifik të funksionit hash të përdorur në këtë faqe. Është një funksion standard i përfshirë me gjuhën e programimit PHP. E bëra ndërfaqen e uebit vetëm për ta bërë të disponueshme publikisht këtu për lehtësi.


Llogaritni kodin e ri hash

Të dhënat e dorëzuara ose skedarët e ngarkuar përmes këtij formulari do të mbahen në server vetëm për aq kohë sa duhet për të gjeneruar kodin hash të kërkuar. Ai do të fshihet menjëherë përpara se rezultati të kthehet në shfletuesin tuaj.

Të dhënat hyrëse:



Teksti i dërguar është i koduar UTF-8. Meqenëse funksionet hash funksionojnë në të dhëna binare, rezultati do të jetë i ndryshëm sesa nëse teksti ishte në një kodim tjetër. Nëse keni nevojë të llogarisni një hash të një teksti në një kodim specifik, duhet të ngarkoni një skedar në vend të kësaj.



Rreth Algoritmit Hash CRC-32B

Unë nuk jam matematikan, por do të përpiqem ta shpjegoj këtë funksion hash me një analogji të thjeshtë. Ndryshe nga shumë prej funksioneve hash kriptografike, nuk është një algoritëm veçanërisht i komplikuar, kështu që ndoshta do të jetë në rregull ;-)

Imagjinoni që po dërgoni një letër me postë, por jeni të shqetësuar se mund të dëmtohet përpara se të mbërrijë te marrësi. Bazuar në përmbajtjen e letrës, ju llogaritni një shumë kontrolli CRC-32 dhe shkruani atë në zarf. Kur marrësi merr letrën, ai ose ajo mund të llogarisë gjithashtu kontrollin dhe të shohë nëse përputhet me atë që keni shkruar. Nëse ndodh, letra nuk është dëmtuar ose ndryshuar gjatë rrugës.

Mënyra se si CRC-32 e bën këtë është një proces me katër hapa:

Hapi 1: Shtoni pak hapësirë ​​shtesë (mbushje)

  • CRC shton një vend të vogël shtesë në fund të mesazhit (si paketimi i kikirikëve në një kuti).
  • Kjo e ndihmon atë të dallojë më lehtë gabimet.

Hapi 2: Sundimtari Magjik (Polinomi)

  • CRC-32 përdor një "vizore magjike" të veçantë për të matur të dhënat.
    • Mendoni për këtë vizore si një model gungash dhe groove (ky është polinomi, por mos u shqetësoni për atë fjalë).
    • "Sundimtari" më i zakonshëm për CRC-32 është një model fiks.

Hapi 3: Rrëshqitja e vizores (Procesi i ndarjes)

  • Tani CRC e rrëshqet vizoren nëpër mesazh.
    • Në çdo vend, ai kontrollon nëse gunga dhe brazdat rreshtohen.
    • Nëse nuk rreshtohen, CRC bën një shënim (kjo bëhet duke përdorur XOR të thjeshtë, si ndezja ose fikja e çelsave).
    • Ai vazhdon të rrëshqasë dhe të rrotullojë çelsat derisa të arrijë në fund.

Hapi 4: Rezultati përfundimtar (shuma e kontrollit)

  • Pas rrëshqitjes së vizores në të gjithë mesazhin, ju mbetet një numër i vogël (32 bit i gjatë) që përfaqëson të dhënat origjinale.
    • Ky numër është si një gjurmë gishti unike për mesazhin.
    • Kjo është shuma e kontrollit CRC-32.

Versioni i paraqitur në faqe është varianti CRC-32B, i cili është kryesisht një tipar i PHP-së që ndryshon renditjen e biteve (little-endian vs big-endian). Ju ndoshta duhet ta përdorni këtë version vetëm nëse keni nevojë në mënyrë specifike për pajtueshmërinë me një aplikacion tjetër PHP që e përdor atë.

Unë kam kalkulatorë edhe për variantet e tjera:


Shpërndaje në BlueskyShpërndaje në FacebookNdani në LinkedInShpërndaje në TumblrShpërndaje në XNdani në LinkedInPin në Pinterest

Mikkel Bang Christensen

Rreth Autorit

Mikkel Bang Christensen
Mikkel është krijuesi dhe pronari i miklix.com. Ai ka mbi 20 vjet përvojë si programues profesional kompjuteri/zhvillues softuerësh dhe aktualisht është i punësuar me kohë të plotë për një korporatë të madhe evropiane IT. Kur nuk bën blog, ai e kalon kohën e lirë në një gamë të gjerë interesash, hobish dhe aktivitetesh, të cilat mund të reflektohen në një farë mase në shumëllojshmërinë e temave të mbuluara në këtë faqe interneti.