如何使用 BCryptPasswordEncoder 解码密码?
How can decode the password using BCryptPasswordEncoder?
我想从数据库中解码加密值。当他忘记密码时,我想通过邮件将实际密码发送给用户。
以下是密码编码的代码
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String password = passwordEncoder.encode(user.getPassword());
如何解码?
不建议将实际密码发送给用户。您可以通过电子邮件发送激活 link。
BCrypt 是一个密码散列函数,即 one-way function.
您无法解密 BCrypt 哈希,就像您无法从炸鸡块返回到原始鸡一样。
您只能验证两个 BCrypt 哈希是否相同,从而验证提供的密码是否与原始密码匹配。
一个典型的解决方案是发送一个一次性密码重置link给用户,使用秘密问题或其他一些信息来确认用户身份,让他们设置一个新密码。
我想从数据库中解码加密值。当他忘记密码时,我想通过邮件将实际密码发送给用户。
以下是密码编码的代码
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String password = passwordEncoder.encode(user.getPassword());
如何解码?
不建议将实际密码发送给用户。您可以通过电子邮件发送激活 link。
BCrypt 是一个密码散列函数,即 one-way function.
您无法解密 BCrypt 哈希,就像您无法从炸鸡块返回到原始鸡一样。
您只能验证两个 BCrypt 哈希是否相同,从而验证提供的密码是否与原始密码匹配。
一个典型的解决方案是发送一个一次性密码重置link给用户,使用秘密问题或其他一些信息来确认用户身份,让他们设置一个新密码。