Salt (sól) to losowy ciąg znaków dołączany do hasła przed obliczeniem jego skrótu. Dzięki temu dwa identyczne hasła dają różne skróty, a gotowe tablice skrótów stają się bezużyteczne. Sól nie jest tajna i zapisuje się ją razem ze skrótem.
Po co stosuje się sól?
Bez soli użytkownicy z tym samym hasłem mają identyczny skrót, więc po złamaniu jednego atakujący zna je wszystkie. Sól zmusza do łamania każdego hasła osobno i uniemożliwia użycie wcześniej przygotowanych tablic.
Jak stosować sól poprawnie?
Sól powinna być losowa, unikalna dla każdego hasła i dostatecznie długa, zwykle co najmniej 16 bajtów. Nowoczesne funkcje do haseł, takie jak bcrypt, Argon2 i funkcja password_hash w PHP, generują ją i zapisują automatycznie.
Sól a pieprz
Pieprz (pepper) to dodatkowy sekret przechowywany osobno od bazy, np. w konfiguracji serwera. Zwiększa bezpieczeństwo na wypadek wycieku bazy, ale wymaga ostrożnego zarządzania kluczem.