2017-03-18 78 views
0

Spring Bcrypt在我的Web應用程序中不起作用。我的應用程序中有Spring 3.1.0版本。在這裏,我分享了一些我試過的示例代碼。Spring Bcrypt無法正常工作

BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); 
System.out.println(encoder.matches(pwd, dbpwd)); 

即使輸入正確的密碼,也會打印false。但有些時候,如果我輸入錯誤的密碼,它會打印true。我在數據庫編碼

pwd = new BCryptPasswordEncoder().encode(pwd); 

爲什麼它的行爲以不同的方式後,當保存編碼密碼。我在這裏錯過了什麼。如果我做錯了,請糾正我。

+0

請參閱此鏈接.. http://stackoverflow.com/questions/28917254/spring-security-bcrypt-encoding-login-is-not-working –

+0

@AshwinGolani我已經試過了。但它不起作用 – nay

回答

0

我懷疑你的數據庫中的字段不夠長。

您至少需要一個CHAR(60) BINARYBINARY(60),否則您將丟失數據。

Related post here.

+0

問題與大小不符。我在桌上的列大小爲'60'。但我仍然無法找到確切的問題。 – nay