Как я могу хэшировать пароль в Java? - PullRequest
164 голосов
/ 19 мая 2010

Мне нужно хешировать пароли для хранения в базе данных. Как я могу сделать это на Java?

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

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

Ответы [ 11 ]

1 голос
/ 19 мая 2010

Из всех стандартных схем хеширования LDAP ssha является наиболее безопасным для использования,

http://www.openldap.org/faq/data/cache/347.html

Я бы просто следовал указанным там алгоритмам и использовал MessageDigest для хеширования.

Вы должны хранить соль в своей базе данных, как вы предложили.

...