Hash funkce vezme jakýkoli vstup (text, soubor, data) a produkuje řetězec znaků pevné délky nazývaný hash nebo digest. Stejný vstup vždy produkuje stejný hash, ale i malá změna ve vstupu produkuje zcela jiný hash. Tato vlastnost činí hashe nezbytnými pro ověřování integrity dat, ukládání hesel a digitální podpisy.
Běžné hash algoritmy
MD5 produkuje 128-bitový (32-znakový) hash. Ačkoli je rychlý, již není považován za bezpečný pro kryptografické účely, ale zůstává široce používán pro kontrolní součty a aplikace, které nejsou bezpečnostní. SHA-1 produkuje 160-bitový (40-znakový) hash a také je zastaralý pro bezpečnostní použití. SHA-256 a SHA-512 (část rodiny SHA-2) jsou aktuálním standardem pro bezpečné hashování, produkující 256-bitové (64-znakové) a 512-bitové (128-znakové) hashe.
Praktické použití hash funkcí
Vývojáři používají hashe k ověřování integrity souborů (porovnávání kontrolních součtů), bezpečnému ukládání hesel (hashované, ne prostý text), generování jedinečných identifikátorů, digitálních podpisů a deduplikaci dat. Pokud stáhnete soubor a chcete ověřit, že nebyl pozměněn, porovnejte hash staženého souboru s oficiálním hashem poskytnutým vydavatelem.