Декодирование Spring PasswordEncoder во внешнем приложении - PullRequest
0 голосов
/ 06 апреля 2011

Мне нужно декодировать пароль, который был закодирован с использованием метода org.springframework.security.authentication.encoding.PasswordEncoder.encodePassword.По сути, приложение «А» поддерживает закодированный / зашифрованный пароль в своей базе данных.Приложение «B» выполняет RESTful-вызов приложения «A» для получения идентификатора пользователя и пароля (передает пароль в зашифрованном / зашифрованном виде), а затем приложение «B» должно просмотреть версию пароля в текстовом виде, как она будет декодироваться?

1 Ответ

2 голосов
/ 06 апреля 2011

Упомянутый класс "org.springframework.security.authentication.encoding.PasswordEncoder.encodePassword", кажется, использует функцию дайджеста для кодирования пароля. Поскольку все функции дайджеста упоминаются как односторонние, легко сделать зашифрованный пароль из открытого текста, но практически невозможно получить незашифрованную версию из дайджеста.

Если вы хотите аутентифицировать пользователя, просто зашифруйте пароль и сравните его с сохраненной зашифрованной версией.

Другим вариантом может быть сброс пароля (замена значения, хранящегося в приложении «А»).

Если вы настаиваете на незашифрованном пароле в приложении «B» из дайджеста, вам придется взломать его, что может быть трудоемкой операцией ...

...