Солить пароль - есть ли лучшие варианты, чем использование временной метки?

StackOverflow https://stackoverflow.com/questions/3516420

Вопрос

В настоящее время я строю пару сайтов ASP.NET MVC 2, и мне интересно, каковы мои варианты для солирования пароля. С моей работой PHP я обычно только что получил метку времени, когда пользователь зарегистрировался, а затем добавил ее к концу их строки пароля, прежде чем использовать SHA1 для хэша всего этого. Мой инстинкт заключается в том, что этого подхода может быть недостаточно.

В любом случае, я довольно новичок в администрировании пользователей с ASP.NET, поэтому я полагаю, что было бы в интересах начать работу с лучшими практиками с самого начала. Я знаю, что веб-формы ASP.NET имеют встроенную администрацию пользователей, но я не уверен в MVC.

Это было полезно?

Решение

Единственная точка соли - предотвратить атаки радуги, когда несколько пользователей имеют одинаковый хэш для своего пароля, поэтому изменение одного пароля успешно означает, что вы также знаете, что это пароль для всех остальных с одним и тем же хэшем. Даже однозначная соль предотвратит это, поскольку два пользователя с одним и тем же паролем будут иметь разные хэши, если у них разные соли.

Пока соль - это то, что не изменится, и это отличается для каждого пользователя, любое значение будет работать хорошо. Неэппаратная метка их регистрации, при условии, что вы не обновляете это поле (которое лишает аннулирования хэша их пароля и предотвратить их вход), является отличным выбором.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top