2016-07-05 440 views
0

我想使用Spring Security來實現B​​Crypt密碼加密。由於某些原因,密碼驗證失敗的原因應該是有效的密碼。密碼是在同一個應用程序中創建的,並且在單元測試中對其進行硬編碼時傳遞了身份驗證檢查。但是,由於某種原因,它在服務器上運行時會失敗。我檢查過它使用相同的JRE,迭代次數相同(存儲在散列表中)。我試着將其減少到最低限度的代碼以找出錯誤。我被困在那裏這種說法一點:BCrypt身份驗證失敗

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

返回true在單元測試中運行時,但在我住的PasswordEncoder在服務器上運行時失敗。任何想法,爲什麼這是失敗?

回答

0

我想出了我的錯誤。我們的代碼一度將密碼轉換爲大寫。我刪除了一些地方,但錯過了一個地方。因此,將所有大寫密碼與混合大小寫密碼進行比較失敗(正如人們所期望的那樣)。