Он должен содержаться в переменной $_SERVER['REMOTE_ADDR']
.
Что касается дополнительной безопасности, обеспечиваемой хешированием, это зависит от того, сколько итераций хэша вы используете. В качестве примера скажем, что вы решили использовать 2 ^ 14 хеш-итерации. Это увеличивает энтропию пароля на 14 бит. Согласно Закону Мура, каждый дополнительный бит энтропии, предоставляемый хешем, означает приблизительно 18 дополнительных месяцев, чтобы взломать пароль в то же время, что и сегодня. Таким образом, это будет 21 год (14 х 18 месяцев) до того, как итерированный хеш может быть взломан в то же время, что и исходный пароль может быть взломан сегодня.
Дополнительная безопасность, обеспечиваемая засолением, заключается в том, что она предотвращает использование радужных столов.
Этот вопрос в security.stackexchange является хорошим обсуждением bcrypt и PBKDF2 - . Специалисты по безопасности рекомендуют bcrypt для хранения паролей ?
Ключ состоит в том, что только хеш-функция не предотвратит атаку предкоммутации (например, таблицу радуги). И добавление соли не защитит вас от словаря или атаки грубой силы. Вы гораздо лучше используете bcrypt или PBKDF2, чем создаете свою собственную схему с помощью алгоритма хеширования.