【发布时间】:2020-02-24 16:58:40
【问题描述】:
我有一个 Spring Boot 应用程序(代码 here)和一个使用 BCryptPasswordEncoder 的 security configuration:
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
我想预先生成几个密码来初始化我的数据库,以便在开发人员机器上进行测试或登录。 (不适用于生产。)我的数据库是 PostgreSQL,架构基于 Spring Security 默认架构,有一个 users 表和一个 authorities 表。我的 SQL 语句如下所示:
insert into users (username, password, enabled) values ('joe','$2y$12$XodbOuISPCPQijlY8MIRUepDeURhxDe09/4VQU0Cno5zkTEKjZouO',true);
我不太了解 BCrypt 哈希算法的工作原理,但我使用看起来合法的免费在线 BCrypt hash generator 生成了这个密码哈希(用于密码“测试”)。不过,我无法登录到我的 Spring Boot 应用程序。日志中的错误是“凭据错误”。什么给了?
PS:这是this other question的后续。
【问题讨论】:
标签: spring-boot bcrypt password-hash