首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Security BCrypt总是寻找“$2a”正则表达式

Spring Security BCrypt总是寻找“$2a”正则表达式
EN

Stack Overflow用户
提问于 2019-10-18 09:14:49
回答 1查看 732关注 0票数 1

我正在用spring引导来实现spring安全性。我使用BCrypt生成器在线生成密码。但是,当我尝试登录时,我得到了错误消息:

2019-10-18 11:10:10:56.983警告53908 -- io-9090-exec-10 o.s.s.c.bcrypt.BCryptPasswordEncoder :编码密码看起来不像BCrypt。

经过一些研究,我发现Security中存在一个bug,它只查找"$2a“正则表达式。有人能向我解释一下解决这些问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-18 10:40:36

默认情况下,spring引导2.1.x支持spring-security-core-5.1.x,它通常生成$2a版本的bcrypt

这个版本不支持不同版本的BCryptPasswordEncoder。

如果您想使用其他版本,则需要升级spring-security-core版本。

在pom.xml中添加以下内容

代码语言:javascript
运行
复制
 <dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>5.2.0.RELEASE</version>
 </dependency>

然后创建BCryptPasswordEncoder bean,如下所示

代码语言:javascript
运行
复制
@Bean(name = "passwordEncoder")
    public BCryptPasswordEncoder getPasswordEncoder() {

        BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(BCryptVersion.$2B);
        return bCryptPasswordEncoder;

    }

可以在BCryptPasswordEncoder.的构造函数中传递所需的版本。

可能的值是

  • BCryptVersion.$2A
  • BCryptVersion.$2Y
  • BCryptVersion.$2B
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58447685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档