【发布时间】:2016-12-18 13:37:44
【问题描述】:
我在使用 BCrypt 时遇到问题。 我想以安全的方式存储用户密码,因此,我使用 Spring 的 BCrypt 来存储加密的密码。 我现在面临的问题是 BCrypt 生成随机盐,当然,密码无法解密。 但是我该如何处理登录呢?
private PasswordEncoder encoder = new BCryptPasswordEncoder();
public String encryptPassword(String password) {
String encryptedValue = encoder.encode(password);
Assert.isTrue(encoder.matches(password, encryptedValue));
return encryptedValue;
}
当用户输入他的凭据时,我需要做些什么来确保密码匹配?
String encryptedPassword = encryptionGenerator.encryptPassword(loginCredentials.getPassword());
然后我尝试使用休眠模式从数据库中读取数据
FROM Login WHERE email = :email AND password = :password AND email_confirmed = 1"
【问题讨论】: