Злоумышленнику «разрешено» знать соль - ваша безопасность должна быть разработана таким образом, чтобы даже при знании соли она все еще была в безопасности.
Что делает соль?
Соль помогает в защите от атак грубой силы с использованием предварительно вычисленных «радужных таблиц».
Соль делает грубую силу намного дороже (с точки зрения времени и памяти) для атакующего.
Вычисление такой таблицы является дорогостоящим и обычно выполняется только тогда, когда его можно использовать для более чем одной атаки / пароля.
Если вы используете одну и ту же соль для всех паролей, злоумышленник может предварительно вычислить такую таблицу, а затем переборить ваши пароли в открытый текст ...
Пока вы генерируете новую (лучшую криптографически стойкую) случайную соль для каждого пароля, для которого вы хотите сохранить хеш, проблем не возникает.
Если вы хотите еще больше укрепить безопасность
Вы можете вычислить хэш несколько раз (хэш и т. Д.) - это не будет стоить вам дорого, но делает атаку грубой силой / вычисление «радужных таблиц» еще дороже ... пожалуйста, не изобретайте себя - существуют проверенные стандартные методы для этого, см., например, http://en.wikipedia.org/wiki/PBKDF2 и http://www.itnewb.com/tutorial/Encrypting-Passwords-with-PHP-for-Storage-Using-the-RSA-PBKDF2-Standard
ПРИМЕЧАНИЕ:
Использование такого механизма в наши дни mandatrory , поскольку «время процессора» (используется для атак, таких как радужные таблицы / грубая сила и т. Д.) Становится все более доступным (см., Например, тот факт, что Amazon Облачный сервис входит в число 50 самых быстрых суперкомпьютеров в мире и может использоваться кем угодно за сравнительно небольшую сумму)!