Głębiej
Bezpieczne przechowywanie haseł to odporność na ataki offline:
- Użyj Argon2id (preferowane), bcrypt lub scrypt z dobranym kosztem.
- Unikalna sól per użytkownik; opcjonalny pepper trzymany osobno (HSM/secret manager).
- Rate limiting logowań; blokady lub MFA przy podejrzanych próbach.
- Rehash przy logowaniu, gdy zwiększasz koszt.
Przykłady
Podniesienie kosztu przy logowaniu:
if (needsRehash(hash)) { newHash = hashPassword(password) }
Typowe pułapki
- Odwracalne szyfrowanie lub klucz w tej samej bazie.
- Szybkie hashe (MD5/SHA1) albo wspólna sól.
- Przechowywanie podpowiedzi do haseł lub wysyłka hasła mailem.
Pytania uzupełniające na rozmowie
- Kiedy dodajesz pepper i gdzie go przechowujesz?
- Jak migrujesz stare hashe na mocniejszy schemat?
- Jak chronisz się przed credential stuffing?