Obsah

Hashování (Digitální otisk dat)

Hashování je proces, při kterém vložíte na vstup data (např. slovo „Ahoj“ nebo celé video) a hashovací algoritmus (funkce) vyplivne unikátní řetězec znaků (např. ''a3f5b…'). Hashování je jednosměrná operace – z výsledného hashe nelze zpětně získat původní data.


Klíčové vlastnosti dobrého hashe

Aby byla hashovací funkce užitečná v informatice a bezpečnosti, musí splňovat tato pravidla:


Hlavní využití hashování

1. Bezpečné ukládání hesel

Služby by nikdy neměly ukládat vaše hesla v čitelném textu. Místo toho uloží pouze hash vašeho hesla.

2. Kontrola integrity dat

Stahujete-li velký soubor, autor často uvádí jeho hash (např. MD5 nebo SHA-256). Po stažení můžete soubor zahashovat sami. Pokud se váš hash shoduje s tím od autora, máte jistotu, že se soubor cestou nepoškodil a nikdo do něj nevložil virus.

3. Digitální podpisy a Blockchain

Hashování je základem pro digitální podpisy a technologii kryptoměn. V Bitcoinu se například hashuje celý blok transakcí, čímž se nezaměnitelně propojuje s blokem předchozím.


Nejčastější hashovací algoritmy

Algoritmus Stav Použití
MD5 Zastaralý Již není bezpečný, používá se jen pro rychlou kontrolu integrity (ne pro hesla).
SHA-1 Zastaralý Podobně jako MD5, již byl matematicky prolomen.
SHA-256 Bezpečný Standard v kryptografii, těžba Bitcoinu, certifikáty webů.
bcrypt / Argon2 Excelentní Speciálně navrženy pro ukládání hesel (jsou záměrně pomalé, aby bránily útokům hrubou silou).

Rozdíl: Hashování vs. Šifrování

Mnoho lidí tyto pojmy plete. Hlavní rozdíl je v účelu:


Co je to "Sůl" (Salt)?

V souvislosti s hashováním hesel se používá tzv. sůl. Je to náhodný řetězec znaků, který se přidá k heslu předtím, než se zahashuje. Tím se zajistí, že i když mají dva uživatelé stejné heslo „12345“, jejich výsledné hashe v databázi budou vypadat úplně jinak. To chrání databázi před útoky pomocí tzv. Duhových tabulek (Rainbow Tables).


Související pojmy: Digitální podpis, Šifrování, RSA, AES, Blockchain, MD5, SHA-256, Sůl (Salt).