Как лучше всего использовать StandardPasswordEncoder для подсчета паролей в Spring Security 3.1? - PullRequest
7 голосов
/ 14 апреля 2011

Я хотел бы добавить пароль для сайта, над которым я работаю, и обнаружил, что в Spring Security 3.1 появились некоторые новые функции, которые делают это очень простым.

У меня есть вопрос по поводу StandardPasswordEncoderучебный класс.Он работает немного иначе, чем я ожидал.Это кажется более простым в использовании, чем сам кодирование соли, но я думаю, что происходит какая-то «магия», которую я не понимаю.

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

Насколько я понимаю, когда вы делаете соль, вы не можете вернуться назад ... так что если есть случайная соль для генерации закодированного хэша, в первую очередь ... как StandardPasswordEncoder можетсопоставить пароль позже?Я сбит с толку.Разве я не должен получать соль, сохранять соль в базе данных и затем поставлять соль?Как это может сделать это без того, чтобы я не хранил и не предоставлял значение соли?

Спасибо за устранение путаницы.Я надеюсь, что мой вопрос имеет смысл.

1 Ответ

4 голосов
/ 14 апреля 2011

Хранит хешированный пароль, соединенный с солью, см. StandardPasswordEncoder.java, поэтому он знает соль при проверке пароля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...