gpt4 book ai didi

java - 如何从 BCryptPasswordEncoder 获取原始密码

转载 作者:行者123 更新时间:2023-12-01 20:13:08 24 4
gpt4 key购买 nike

我正在为我的应用程序使用 Spring Security。当用户第一次注册时,他们的密码会使用 BCryptPasswordEncoder 进行加密。

BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode(password);

现在,在更改密码的情况下,用户输入当前密码,我需要检查当前密码是否与数据库中保存的加密密码相同。

我知道不可能使用 BCryptPasswordEncoder 生成两个具有相同字符串的相同加密哈希。因此,比较密码是否相同的唯一方法可能是获取数据库中保存的原始密码并与当前输入的密码进行比较。

那么,有什么方法可以比较密码或从数据库保存的散列密码中获取原始密码吗?

最佳答案

您只需对照数据库中的编码密码检查原始密码。例如,

BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
String p = bCryptPasswordEncoder.encode("SomeCoolPassword");
System.out.println(bCryptPasswordEncoder.matches("SomeCoolPassword", p));

关于java - 如何从 BCryptPasswordEncoder 获取原始密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39116688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com