Kalkulačka kontrolních součtů
Technické detaily
Jak funguje kalkulačka kontrolního součtu
Co nástroj dělá
Kalkulačka kontrolního součtu počítá nekryptografické kontrolní součty pro ověřování integrity dat a podporuje algoritmy CRC-16, CRC-24, CRC-32, Adler-32 a Luhn. Přijímá jak prostý text, tak i surový hexadecimální vstup bajtů, což umožňuje ověřovat kontrolní součty vůči síťovým protokolům, formátům souborů a identifikačním číslům. Výsledky se zobrazují v hexadecimálním i desetinném tvaru pro snadné porovnání se specifikačními dokumenty.
Běžné případy použití pro vývojáře
Vývojáři používají CRC kalkulačky při ladění síťových protokolů (Ethernet používá CRC-32, PPP používá CRC-16), ověřování integrity souborů v archivních formátech jako ZIP a PNG nebo validaci identifikačních čísel pomocí Luhn (kreditní karty, IMEI). Embedded inženýři používají tento nástroj k ověření, že implementace CRC odpovídají očekávanému výstupu, před nahráním firmwaru nebo testováním rámců sériové komunikace.
Datové formáty, typy nebo varianty
CRC-16 (CCITT) vytváří 16bitový kontrolní součet používaný v XMODEM, Bluetooth a USB. CRC-32 (ISO 3720) vytváří 32bitovou hodnotu používanou v Ethernetu, ZIP a PNG. Adler-32 je rychlejší alternativa k CRC-32 používaná v zlib. Luhn mod-10 není CRC, ale algoritmus kontrolní číslice používaný k ověřování čísel kreditních karet, kódů ISIN a čísel IMEI. Režim hex vstupu umožňuje zadat surové sekvence bajtů pro ověřování na úrovni protokolu.
Běžné nástrahy a okrajové případy
Algoritmy CRC mají mnoho variant polynomů a inicializace — CRC-16-CCITT se liší od CRC-16-IBM, proto vždy ověřte, kterou variantu protokol očekává. Kontrolní součty odhalují náhodné poškození, ale neposkytují žádné zabezpečení proti úmyslné manipulaci; k tomu použijte kryptografické hashe. Při použití režimu hex vstupu se ujistěte, že bajty zadáváte bez oddělovačů nebo s konzistentním formátováním, protože jeden navíc zadaný nibble posune všechny následující bajty.
Kdy použít tento nástroj vs. kód
Použijte tento nástroj v prohlížeči pro rychlé namátkové kontroly při ladění rámců protokolu, ověřování jednoho čísla platební karty pomocí Luhnova algoritmu nebo porovnávání výstupu CRC se specifikací. Pro hromadné ověřování souborů, CI pipeline nebo sestavení embedded firmwaru použijte nativní CRC knihovny daného jazyka (Python's zlib.crc32, Node's Buffer-based crc packages), které umí zpracovávat streamy a integrovat se do automatizovaných workflow.