Hashování chrání uložená hesla i při úniku databáze.
Hashování hesel je bezpečnostní technika, při které se původní heslo převede na nevratný řetězec (hash), který se uloží do databáze. Pokud dojde k úniku dat, útočník nevidí skutečná hesla, ale pouze jejich hashe.
Důležité vlastnosti hashování:
- je jednosměrné (nelze jednoduše získat původní heslo),
- výstup je vždy stejně dlouhý,
- stejné heslo generuje stejný hash (pokud se nepoužije salt).
Pro zvýšení bezpečnosti se používá tzv. salt (náhodný řetězec přidaný k heslu) nebo moderní hashovací algoritmy jako bcrypt
, scrypt
nebo Argon2
.