Kontrolní součet je výsledkem spuštění algoritmu, který se nazývá kryptografická hašovací funkce, na části dat, obvykle na jediném souboru. Porovnání kontrolního součtu, který vygenerujete z vaší verze souboru, s kontrolním součtem poskytnutým zdrojem souboru, pomůže zajistit, že vaše kopie souboru je pravá a bez chyb.
Kontrolní součet se také někdy nazývá hash sum a méně často hash value, hash code nebo jednoduše hash.
Příklad jednoduchého kontrolního součtu
Myšlenka kontrolního součtu nebo kryptografické hašovací funkce se může zdát složitá a možná nestojí za námahu, ale rádi bychom vás přesvědčili o opaku! Kontrolní součty opravdu není tak těžké pochopit nebo vytvořit.
Začněme jednoduchým příkladem, doufejme, že demonstruje sílu kontrolních součtů dokázat, že se něco změnilo. Kontrolní součet MD5 pro následující frázi je dlouhý řetězec znaků, které tuto větu představují.
Toto je test.
120EA8A25E5D487BF68B5F7096440019
Pro naše účely se zde v podstatě rovnají. Pokud však provedete i nepatrnou změnu, jako je odstranění pouze tečky, vytvoří se zcela jiný kontrolní součet.
Toto je test
CE114E4501D2F4E2DCEA3E17B546F339
Jak můžete vidět, i nepatrná změna v souboru vytvoří značně odlišný kontrolní součet, takže je zcela jasné, že jeden se nerovná druhému.
Případ použití kontrolního součtu
Řekněme, že si stáhnete velkou aktualizaci softwaru, například aktualizaci Service Pack. Toto je pravděpodobně velký soubor, jehož stažení trvá několik minut nebo déle.
Jak poznáte, že soubor byl po stažení správně přijat? Co když během přenosu vypadlo několik bitů a soubor, který máte právě v počítači, není přesně to, co bylo zamýšleno? Použití aktualizace na program, který není přesně tak, jak jej vývojář vytvořil, vám pravděpodobně způsobí velké problémy.
Porovnávání kontrolních součtů vás může uklidnit. Za předpokladu, že webová stránka, ze které jste soubor stáhli, poskytuje data kontrolního součtu vedle souboru ke stažení, můžete pak použít kalkulačku kontrolního součtu (viz „Kalkulačky kontrolního součtu“níže) k vytvoření kontrolního součtu ze staženého souboru.
Řekněme například, že web poskytuje kontrolní součet MD5:5a828ca5302b19ae8c7a66149f3e1e98 pro soubor, který jste stáhli. Potom použijete svůj vlastní kalkulátor kontrolního součtu k vytvoření kontrolního součtu pomocí stejné kryptografické hašovací funkce, v tomto příkladu MD5, v souboru ve vašem počítači. Shodují se kontrolní součty? Skvělý! Můžete si být jisti, že oba soubory jsou totožné.
Neodpovídají kontrolní součty? To může znamenat cokoli, od skutečnosti, že někdo nahradil stahování něčím škodlivým, aniž byste o tom věděli, až po důvod méně zlověstný, jako je to, že jste soubor otevřeli a změnili, nebo bylo přerušeno síťové připojení a stahování souboru nebylo dokončeno. Zkuste soubor stáhnout znovu a poté pro nový soubor vytvořte nový kontrolní součet a poté znovu porovnejte.
Kontrolní součty jsou také užitečné pro ověření, že soubor, který jste stáhli odjinud než z původního zdroje, je ve skutečnosti platným souborem a nebyl změněn, ať už úmyslně nebo jinak, oproti originálu. Stačí porovnat vytvořený hash s hash dostupným ze zdroje souboru.
Kalkulačky kontrolních součtů
Kalkulačky kontrolních součtů jsou nástroje používané k výpočtu kontrolních součtů. Je jich tam spousta, každá podporuje jinou sadu kryptografických hašovacích funkcí.
Jednou skvělou bezplatnou možností je Microsoft File Checksum Integrity Verifier, zkráceně FCIV. Podporuje pouze kryptografické hašovací funkce MD5 a SHA-1, ale ty jsou v současnosti zdaleka nejoblíbenější. Kompletní návod najdete v našem článku o tom, jak ověřit integritu souborů ve Windows pomocí FCIV. Microsoft File Checksum Integrity Verifier je program příkazového řádku, ale jeho použití je velmi snadné.
Můžete také použít program certutil vestavěný do Windows. Toto je také nástroj příkazového řádku, ale je stejně snadné jej použít k ověření MD5 kontrolního součtu souborů. Tento článek také popisuje, jak udělat totéž na Linuxu pomocí md5sum.
Další vynikající bezplatný kalkulátor kontrolního součtu pro Windows je IgorWare Hasher a je zcela přenosný, takže nemusíte nic instalovat (k rozbalení programu však budete potřebovat otvírač souborů RAR). Pokud nejste spokojeni s nástroji příkazového řádku, tento nástroj je pravděpodobně lepší volbou. Podporuje MD5 a SHA-1, stejně jako CRC32. Můžete jej použít k nalezení kontrolního součtu textu a souborů.
JDigest je kalkulačka kontrolního součtu s otevřeným zdrojovým kódem, která funguje ve Windows i na macOS a Linux.
Vzhledem k tomu, že ne všechny kalkulačky kontrolního součtu podporují všechny možné kryptografické hašovací funkce, ujistěte se, že každá kalkulačka, kterou se rozhodnete použít, podporuje hašovací funkci, která vytvořila kontrolní součet, který doprovází soubor, který stahujete.
FAQ
Jsou všechny kontrolní součty jedinečné?
Ano. Pouze soubory, které jsou identické, budou mít stejný kontrolní součet. Změna čehokoli jiného než názvu souboru bude mít za následek jiný kontrolní součet.
Jak kalkulačky kontrolních součtů počítají kontrolní součty?
Kalkulačky kontrolního součtu používají řadu algoritmů včetně kontroly podélné parity, Fletcherova kontrolního součtu, Adler-32 a kontrol cyklické redundance (CRC).
Jak ověřím více kontrolních součtů najednou?
Příkazem MD5 můžete získat kontrolní součet více souborů najednou. Otevřete terminál a zadejte md5 následovaný názvy jednotlivých souborů (oddělených mezerami), poté stiskněte Enter.