Miklix

CRC-32 Hash Kode Sakrekenaar

Gepubliseer: 17 Februarie 2025 om 18:14:13 UTC

Hash-kode sakrekenaar wat die CRC-32 (Cyclic Redundancy Check 32 bit) hash-funksie gebruik om 'n hash-kode te bereken gebaseer op teksinvoer of lêeroplaai.

Hierdie bladsy is masjienvertaal uit Engels om dit vir soveel mense moontlik toeganklik te maak. Ongelukkig is masjienvertaling nog nie 'n volmaakte tegnologie nie, dus kan foute voorkom. As jy verkies, kan jy die oorspronklike Engelse weergawe hier sien:

CRC-32 Hash Code Calculator

Sikliese oortolligheidskontrole (CRC) is 'n foutopsporingskode wat algemeen gebruik word om toevallige veranderinge aan rou data op te spoor. Alhoewel dit tegnies nie 'n kriptografiese hash-funksie is nie, word daar dikwels na CRC-32 verwys as 'n hash vanweë sy vermoë om 'n vaste-grootte uitset (32 bisse) uit veranderlike lengte invoer te produseer.

Volledige openbaarmaking: Ek het nie die spesifieke implementering van die hash-funksie wat op hierdie bladsy gebruik word, geskryf nie. Dit is 'n standaardfunksie wat by die PHP-programmeertaal ingesluit is. Ek het net die webkoppelvlak gemaak om dit vir gerief hier publiek beskikbaar te maak.


Bereken Nuwe Hash-kode

Data wat ingedien is of lêers wat deur hierdie vorm opgelaai word, sal slegs op die bediener gehou word vir so lank as wat dit neem om die gevraagde hash-kode te genereer. Dit sal onmiddellik uitgevee word voordat die resultaat na jou blaaier teruggestuur word.

Invoer data:



Ingediende teks is UTF-8 geënkodeer. Aangesien hash-funksies op binêre data werk, sal die resultaat anders wees as wanneer die teks in 'n ander enkodering was. As jy 'n hash van 'n teks in 'n spesifieke enkodering moet bereken, moet jy eerder 'n lêer oplaai.



Oor die CRC-32 Hash-algoritme

Ek is nie 'n wiskundige nie, maar ek sal probeer om hierdie hash-funksie met 'n eenvoudige analogie te verduidelik. Anders as baie van die kriptografiese hash-funksies, is dit nie 'n besonder ingewikkelde algoritme nie, so dit sal waarskynlik goed wees ;-)

Stel jou voor jy stuur 'n brief in die pos, maar jy is bekommerd dat dit beskadig kan word voordat dit by die ontvanger aankom. Op grond van die inhoud van die brief bereken u 'n CRC-32-kontrolesom en skryf dit op die koevert. Wanneer die ontvanger die brief ontvang, kan hy of sy dan ook die tjeksom bereken en kyk of dit ooreenstem met wat jy geskryf het. As dit wel gebeur, is die brief nie langs die pad beskadig of verander nie.

Die manier waarop CRC-32 dit doen, is 'n vierstap-proses:

Stap 1: Voeg ekstra spasie by (opvulling)

  • CRC voeg 'n bietjie ekstra ruimte by aan die einde van die boodskap (soos om grondboontjies in 'n boks te pak).
  • Dit help dit om foute makliker op te spoor.

Stap 2: Die magiese liniaal (die polinoom)

  • CRC-32 gebruik 'n spesiale "magiese liniaal" om die data te meet.
    • Dink aan hierdie liniaal soos 'n patroon van bultjies en groewe (dit is die polinoom, maar moenie bekommerd wees oor daardie woord nie).
    • Die mees algemene "liniaal" vir CRC-32 is 'n vaste patroon.

Stap 3: Skuif die liniaal (delingsproses)

  • Nou skuif CRC die liniaal oor die boodskap.
    • Op elke plek kyk dit of die bultjies en groewe in lyn is.
    • As hulle nie in lyn is nie, maak CRC 'n aantekening (dit word gedoen met behulp van eenvoudige XOR, soos om skakelaars aan of af te skakel).
    • Dit hou aan om skakelaars te skuif en om te draai totdat dit die einde bereik.

Stap 4: Die finale resultaat (die kontrolesom)

  • Nadat u die liniaal oor die hele boodskap geskuif het, het u 'n klein getal (32 bisse lank) wat die oorspronklike data voorstel.
    • Hierdie nommer is soos 'n unieke vingerafdruk vir die boodskap.
    • Dit is die CRC-32-kontrolesom.

Die weergawe wat op die bladsy aangebied word, is die oorspronklike CRC-32-funksie, wat u moet gebruik vir die beste versoenbaarheid met ander stelsels.

Ek het ook sakrekenaars vir die ander variante:

Deel op BlueskyDeel op FacebookDeel op LinkedInDeel op TumblrDeel op XDeel op LinkedInSpeld op Pinterest

Mikkel Bang Christensen

Oor die skrywer

Mikkel Bang Christensen
Mikkel is die skepper en eienaar van miklix.com. Hy het meer as 20 jaar ondervinding as 'n professionele rekenaarprogrammeerder/sagteware-ontwikkelaar en is tans voltyds in diens van 'n groot Europese IT-korporasie. Wanneer hy nie blog nie, spandeer hy sy vrye tyd aan 'n groot verskeidenheid belangstellings, stokperdjies en aktiwiteite, wat tot 'n mate weerspieël kan word in die verskeidenheid onderwerpe wat op hierdie webwerf gedek word.