2016-07-05 389 views
0

我想使用Spring Security来实现B​​Crypt密码加密。由于某些原因,密码验证失败的原因应该是有效的密码。密码是在同一个应用程序中创建的,并且在单元测试中对其进行硬编码时传递了身份验证检查。但是,由于某种原因,它在服务器上运行时会失败。我检查过它使用相同的JRE,迭代次数相同(存储在散列表中)。我试着将其减少到最低限度的代码以找出错误。我被困在那里这种说法一点:BCrypt身份验证失败

BCrypt.checkpw("password123", "$2a$10$kyRMcxNqagw.ny369X4AsumV4cvHt4Usfvm.rGNDRnxP2SLKioFhu") 

返回true在单元测试中运行时,但在我住的PasswordEncoder在服务器上运行时失败。任何想法,为什么这是失败?

回答

0

我想出了我的错误。我们的代码一度将密码转换为大写。我删除了一些地方,但错过了一个地方。因此,将所有大写密码与混合大小写密码进行比较失败(正如人们所期望的那样)。