【发布时间】:2019-06-19 02:01:35
【问题描述】:
我正在测试将我们的密码哈希从 sha-256 移动到 sha-512 或 bcrypt。为此,我实现了一个非常简单的测试,但是我发现当 Bcrypt 尝试将其与相同的 rawPassword + 任何其他内容进行匹配时,使用特定的 rawPassword 会失败,返回 true 而不是 false。也许和编码有关,但我不确定。
...
@Test
public void testEncodePassword() {
final String rawPassword = "¡Oh envidia, raíz de infinitos males y carcoma de las virtudes!";
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encodedPassword = passwordEncoder.encode(rawPassword);
assertTrue(passwordEncoder.matches(rawPassword,encodedPassword));
assertFalse(passwordEncoder.matches("dds",encodedPassword));
assertFalse(passwordEncoder.matches("dds"+rawPassword,encodedPassword));
assertFalse(passwordEncoder.matches(rawPassword+"something else",encodedPassword));
}
...
【问题讨论】:
-
此测试通过 Spring Security 5.1。
标签: java spring-security bcrypt