2013-11-02 29 views
0

我插入用戶到數據庫H2如下:春季安全和H2:如何散列密碼

insert into users (id,username,password) VALUES(1,'user','password'); 

我還使用彈簧安全。通常散列密碼我會像這樣配置Spring:

<bean id = "encoder" class = "org.springframework.security.crypto.password.StandardPasswordEncoder"/> 

<security:authentication-manager> 
    <security:authentication-provider user-service-ref="userService"> 
     <security:password-encoder ref="encoder" />--> 
    </security:authentication-provider> 
</security:authentication-man 

並將散列函數放入insert語句中。該H2文檔建議我需要這樣做:

insert into users (id,username,password) VALUES(1 vg,'user',HASH('SHA256', STRINGTOUTF8('Password'), 1000)); 

但是當我做,密碼似乎並不匹配。我希望我沒有正確地配置一些東西,但谷歌沒有幫助我。

+0

我不太清楚你希望匹配的是什麼?你有兩個'在你的問題insert'語句。在第一個插入密碼爲純文本,在另一個插入散列值。但是你沒有在代碼中顯示你想要匹配密碼的地方。 –

回答

1

做在Java中convesion,使用彈簧

final StandardPasswordEncoder encoder = new StandardPasswordEncoder(); 
String hashedPassword = encoder.encode(aStringVarOfThePassword);