Нападател е „разрешен“ за да познавате солта - вашата сигурност трябва да бъде проектирана така, че дори и със знанието за солта да е сигурна.
Какво прави солта?
Солта помага при защитата срещу атаки с груба сила с помощта на предварително изчислени „таблици на дъгата“.
Солта прави грубата сила много по-скъпа (по отношение на времето/паметта) за нападателя.
Изчисляването на такава таблица е скъпо и обикновено се прави само когато може да се използва за повече от една атака/парола.
АКО използвате една и съща сол за всички пароли, нападателят може предварително да изчисли такава таблица и след това с груба сила паролите ви в ясен текст ...
Докато генерирате нова (най-добра криптографично силна) произволна сол за всяка парола, която искате да съхранявате хеша, няма проблем.
АКО искате да засилите допълнително сигурността
Можете да изчислите хеша няколко пъти (хеш хеша и т.н.) - това не ви струва много, но прави атаката с груба сила / изчисляването на "таблици на дъгата" още по-скъпа... моля, не Не измисляйте себе си – има доказани стандартни методи за това, вижте например http://en. wikipedia.org/wiki/PBKDF2
и http://www.itnewb.com/tutorial/Encrypting-Passwords-with-PHP-for-Storage-Using-the-RSA-PBKDF2-Standard
ЗАБЕЛЕЖКА:
Използването на такъв механизъм в наши дни е задължително тъй като "CPU време" (използваемо за атаки като rainbow tables/brute force и т.н.) става все по-широко достъпно (вижте например факта, че облачната услуга на Amazon е сред топ 50 на най-бързите суперкомпютри в света и може да се използва от всеки за сравнително малка сума)!