Kalkulačka hash kódu CRC-32C
Publikované: 17. februára 2025 o 18:45:16 UTC
Posledná aktualizácia: 12. januára 2026 o 11:37:30 UTC
CRC-32C Hash Code Calculator
Cyklická redundantná kontrola (CRC) je kód na detekciu chýb, ktorý sa bežne používa na detekciu náhodných zmien v nespracovaných dátach. Hoci technicky nie je kryptografickou hašovacou funkciou, CRC-32 sa často označuje ako hash kvôli svojej schopnosti produkovať výstup s pevnou veľkosťou (32 bitov) z vstupu s premenlivou dĺžkou. Verzia uvedená na tejto stránke je variant CRC-32C, čo je novšia, „inteligentnejšia“ (lepšia detekcia chýb) verzia, ktorá je často hardvérovo akcelerovaná na moderných procesoroch (prostredníctvom SSE 4.2).
Úplné odhalenie: konkrétnu implementáciu hashovacej funkcie použitej na tejto stránke som nenapísal. Ide o štandardnú funkciu, ktorá je súčasťou programovacieho jazyka PHP. Vytvoril som len webové rozhranie, aby som ju tu pre pohodlie sprístupnil verejnosti.
O hašovacom algoritme CRC-32C
Nie som matematik, ale pokúsim sa vysvetliť túto hašovaciu funkciu jednoduchou analógiou. Na rozdiel od mnohých kryptografických hašovacích funkcií to nie je nijako zvlášť zložitý algoritmus, takže to pravdepodobne bude v poriadku ;-)
Predstavte si, že posielate list poštou, ale obávate sa, že by sa mohol poškodiť skôr, ako dorazí k príjemcovi. Na základe obsahu listu vypočítate kontrolný súčet CRC-32 a napíšete ho na obálku. Keď príjemca list dostane, môže tiež vypočítať kontrolný súčet a zistiť, či sa zhoduje s tým, čo ste napísali. Ak áno, list nebol počas cesty poškodený ani zmenený.
CRC-32 to robí v štyroch krokoch:
Krok 1: Pridajte trochu viac miesta (odsadenie)
- CRC pridáva na koniec správy trochu viac miesta (ako balenie arašidov do krabice).
- To mu pomáha ľahšie odhaliť chyby.
Krok 2: Magické pravítko (polynóm)
- CRC-32 používa na meranie údajov špeciálne „magické pravítko“. Predstavte si toto pravítko ako vzor hrbolčekov a drážok (toto je polynóm, ale s týmto slovom sa nemusíte báť). Najbežnejším „pravítkom“ pre CRC-32 je pevný vzor.
Krok 3: Posúvanie pravítka (proces delenia)
- CRC teraz posúva pravítko po správe. Na každom mieste kontroluje, či sa hrbole a drážky zhodujú. Ak sa nezhodujú, CRC si to urobí (to sa robí pomocou jednoduchého XOR, ako je zapnutie alebo vypnutie prepínačov). Neustále posúva a prepína prepínače, kým nedosiahne koniec.
Krok 4: Konečný výsledok (kontrolný súčet)
- Po posunutí pravítka cez celú správu vám zostane malé číslo (32 bitov), ktoré predstavuje pôvodné dáta. Toto číslo je ako jedinečný odtlačok prsta pre správu. Ide o kontrolný súčet CRC-32.
Verzia uvedená na stránke je variant CRC-32C, ktorý by mal byť preferovaným variantom, najmä ak používate CPU s hardvérovou akceleráciou (SSE 4.2 a novší) a nepotrebujete kompatibilitu s inými variantmi.
Mám kalkulačky aj pre ostatné varianty:
- Odkaz
- Odkaz
Ďalšie čítanie
Ak sa vám tento príspevok páčil, možno sa vám budú páčiť aj tieto návrhy:
