Соль пароля - есть ли лучшие варианты, чем использование метки времени?
В настоящее время я создаю пару сайтов ASP.NET MVC 2, и мне интересно, какие у меня есть варианты для ввода пароля. В своей работе с PHP я обычно просто получал метку времени регистрации пользователя, затем добавлял ее в конец строки пароля, прежде чем использовать SHA1 для хеширования всего этого. Мой инстинкт заключается в том, что такого подхода может быть недостаточно.
В любом случае, я довольно новичок в администрировании пользователей с ASP.NET, поэтому думаю, что в моих интересах было бы начать с лучших практик с самого начала. Я знаю, что в веб-формах ASP.NET доступно встроенное администрирование пользователей, но я не уверен насчет MVC.
1 ответ
Единственный смысл SALT - предотвращение радужных атак, когда несколько пользователей имеют одинаковый хэш для своего пароля, поэтому, если отменить один пароль успешно, вы также знаете, что это пароль для всех остальных пользователей с таким же хешем. Даже соль с одной цифрой предотвратит это, так как два пользователя с одним и тем же паролем будут иметь разные хэши, если у них разные соли.
Пока соль не изменится и будет отличаться для каждого пользователя, любое значение будет работать хорошо. Отметка времени их регистрации при условии, что вы не обновите это поле (что приведет к аннулированию хеша их пароля и запретит вход в систему), является хорошим выбором.