Miklix

CRC-32B Kalkulačka hash kódu

Vydáno: 17. února 2025 v 18:23:16 UTC
Poslední aktualizace: 12. ledna 2026 v 9:15:39 UTC

Kalkulačka hash kódu, která používá hashovací funkci CRC-32B (Cyclic Redundancy Check 32 bit, varianta B) k výpočtu hash kódu na základě zadaného textu nebo nahrání souboru.

Tato stránka byla strojově přeložena z angličtiny, aby byla přístupná co největšímu počtu lidí. Strojový překlad bohužel ještě není dokonalá technologie, takže může dojít k chybám. Pokud si přejete, můžete si prohlédnout původní anglickou verzi zde:

CRC-32B Hash Code Calculator

Cyklická redundantní kontrola (CRC) je kód pro detekci chyb, který se běžně používá k detekci náhodných změn v nezpracovaných datech. Ačkoli se technicky nejedná o kryptografickou hašovací funkci, CRC-32 se často označuje jako hash kvůli své schopnosti produkovat výstup pevné velikosti (32 bitů) z proměnné délky vstupu. Verze prezentovaná na této stránce je varianta CRC-32B, což je ve skutečnosti jen zvláštnost jazyka PHP, která obrací bity (little-endian vs. big-endian v původním CRC-32).

Plné odhalení: konkrétní implementaci hashovací funkce použité na této stránce jsem nenapsal. Jedná se o standardní funkci, která je součástí programovacího jazyka PHP. Vytvořil jsem pouze webové rozhraní, abych ji zde pro pohodlí zpřístupnil veřejnosti.


Výpočet nového kódu Hash

Data odeslaná nebo soubory nahrané prostřednictvím tohoto formuláře budou na serveru uchovávány pouze po dobu potřebnou k vygenerování požadovaného hash kódu. Budou smazány bezprostředně předtím, než se výsledek vrátí do prohlížeče.

Vstupní data:



Odeslaný text je kódován v UTF-8. Vzhledem k tomu, že hashovací funkce pracují s binárními daty, bude výsledek jiný, než kdyby byl text v jiném kódování. Pokud potřebujete vypočítat hash textu v konkrétním kódování, měli byste místo toho nahrát soubor.



O hašovacím algoritmu CRC-32B

Nejsem matematik, ale pokusím se vysvětlit tuto hašovací funkci jednoduchou analogií. Na rozdíl od mnoha kryptografických hašovacích funkcí se nejedná o nijak zvlášť složitý algoritmus, takže to pravděpodobně bude v pořádku ;-)

Představte si, že posíláte dopis poštou, ale obáváte se, že by se mohl před doručením k příjemci poškodit. Na základě obsahu dopisu vypočítáte kontrolní součet CRC-32 a ten napíšete na obálku. Když příjemce dopis obdrží, může také vypočítat kontrolní součet a zjistit, zda se shoduje s tím, co jste napsali. Pokud ano, dopis nebyl cestou poškozen ani změněn.

CRC-32 to dělá čtyřstupňovým procesem:

Krok 1: Přidejte trochu dalšího prostoru (odsazení)

  • CRC přidává na konec zprávy trochu více místa (jako balení arašídů do krabice).
  • To mu pomáhá snáze odhalit chyby.

Krok 2: Magické pravítko (polynom)

  • CRC-32 používá k měření dat speciální „magické pravítko“. Představte si toto pravítko jako vzorek hrbolků a drážek (jedná se o polynom, ale s tímto slovem se netrapte). Nejběžnějším „pravítkem“ pro CRC-32 je pevný vzorek.

Krok 3: Posouvání pravítka (dělení)

  • CRC nyní posouvá pravítko po zprávě. V každém místě kontroluje, zda se hrboly a drážky shodují. Pokud se neshodují, CRC si to udělá (to se provádí pomocí jednoduchého XOR, jako je zapínání nebo vypínání přepínačů). Neustále posouvá a přepíná přepínače, dokud nedosáhne konce.

Krok 4: Konečný výsledek (kontrolní součet)

  • Po posunutí pravítka přes celou zprávu vám zůstane malé číslo (32 bitů dlouhé), které představuje původní data. Toto číslo je jako jedinečný otisk prstu pro zprávu. Jedná se o kontrolní součet CRC-32.

Verze uvedená na stránce je varianta CRC-32B, což je převážně zvláštnost PHP, která přepíná pořadí bitů (little-endian vs. big-endian). Tuto verzi byste měli pravděpodobně používat pouze tehdy, pokud konkrétně potřebujete kompatibilitu s jinou PHP aplikací, která ji používá.

Mám kalkulačky i pro ostatní varianty:

  • Odkaz
  • Odkaz

Další čtení

Pokud se vám tento příspěvek líbil, mohly by se vám líbit i tyto návrhy:


Sdílet na BlueskySdílejte na FacebookuSdílet na LinkedInSdílet na TumblrSdílet na XSdílet na LinkedInPřipnout na Pinterest

Mikkel Christensen

O autorovi

Mikkel Christensen
Mikkel je tvůrcem a majitelem webu miklix.com. Má více než 20 let zkušeností jako profesionální programátor/vývojář softwaru a v současné době pracuje na plný úvazek pro velkou evropskou IT společnost. Pokud zrovna nepíše blog, věnuje svůj volný čas široké škále zájmů, koníčků a aktivit, což se může do jisté míry odrážet v rozmanitosti témat na tomto webu.