- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的应用程序使用 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/
在本教程中,我们将学习如何使用 BCryptPasswordEncoder 生成加密密码。 BCryptPasswordEncoder 可用于生成带有随机盐的加密密码。 这意味着每次调用都会有不同的结
在 spring 5 中,我使用 BCryptPasswordEncoder 进行密码哈希处理。我的代码如下所示 @Autowired private BCryptPasswordEncoder pa
在应用程序中基于 Spring 的身份验证中,BCryptPasswordEncoder 似乎非常慢并且消耗 CPU 资源非常高,而每个请求都进行用户身份验证。 这被视为 Web 应用程序中的关键性能
在应用程序中基于 Spring 的身份验证中,BCryptPasswordEncoder 似乎非常慢并且消耗 CPU 资源非常高,而每个请求都进行用户身份验证。 这被视为 Web 应用程序中的关键性能
我想从数据库中解码加密值。当用户忘记密码时,我想通过邮件将实际密码发送给用户。 以下是用于对密码进行编码的代码 BCryptPasswordEncoder passwordEncoder = new
我有一个 SpringBoot 2.0.1.RELEASE mvc 应用程序,这是我的配置文件 @Configuration @EnableWebSecurity public class Secur
我有一个 SpringBoot 2.0.1.RELEASE mvc 应用程序,这是我的配置文件 @Configuration @EnableWebSecurity public class Secur
我有以下代码来生成加密密码并保存在数据库中: PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); String hashPas
我正在为我的应用程序使用 Spring Security。当用户第一次注册时,他们的密码会使用 BCryptPasswordEncoder 进行加密。 BCryptPasswordEncoder pa
我在 char[] 中有纯文本密码。我如何使用 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 散列这个 char[]
升级到 php7 后,BCryptPasswordEncoder 抛出以下错误,例如在使用 FOSUserBundle 标准注册页面注册时: "Use of the 'salt' option to
我在我们的应用程序中使用 Spring 安全性,并希望使用存储在数据库中的密码来验证用户输入以更改密码选项。 密码在DB中存储如下 user.setPassword(new BCryptPasswor
我正在使用 BCryptPasswordEncoder 使用 Spring 安全性。现在要更改密码,我需要做的是将用户提供的现有密码与数据库值进行比较。 但是由于盐是由BCryptPasswordEn
您好,我开发了一个 Spring Boot 应用程序(v1.5.18.BUILD-SNAPSHOT),但是当我尝试启动该应用程序时失败...... **************************
我阅读了 Spring Security 的每个 API 和文档,但我找不到如何在 Spring Security bean xml 中配置 BCryptPasswordEncoder 强度参数。 尝
我在 Spring MVC 上开发了一个小项目。该项目有帐户表,帐户有一个使用 BCryptPasswordEncoder 编码的密码。我使用了 java 配置而不是 XML 配置。 @Configu
在 java BCryptPasswordEncoder 的 mysql 中是否有任何等效的功能或特性? 在 java 中: BCryptPasswordEncoder passwordEncoder
我知道在 Spring Security 中会出现以下情况: There was an unexpected error (type=Internal Server Error, status=500
您能否解释一下 org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 类中的 SecureRandom random 参数是
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder 似乎没有返回生成的密码盐: public String encode(
我是一名优秀的程序员,十分优秀!