我正在使用Spring Boot
实现Spring Security
。我已经使用BCrypt
生成器在线生成密码。但是当我尝试登录时,我得到了错误消息:
2019-10-18 11:10:56.983 WARN 53908 - [io-9090-exec-10] o.s.s.c.bcrypt.BCryptPasswordEncoder:编码密码看起来不像BCrypt。
经过一些研究,我发现Spring Security
中有一个bug,其中BCrypt
只查找$2a
正则表达式。有谁能告诉我如何解决这些问题吗?
1条答案
按热度按时间rryofs0p1#
默认情况下
Spring Boot
2.1.x支持spring-security-core-5.1.x
,一般生成$2a
版本的BCrypt
此版本不支持不同版本的
BCryptPasswordEncoder
。如果您想使用其他版本,则需要升级
spring-security-core
版本在pom.xml中添加以下内容
字符串
然后创建
BCryptPasswordEncoder
bean,如下所示型
您可以在BCryptPasswordEncoder的构造函数中传递您想要的版本。
可能的值为