2012-09-19 83 views
0

我試圖將一個web項目轉換爲Spring。 我已經合併了Spring Security,但是舊項目使用SHA-1轉換爲十六進制字符串來加密用戶密碼。如何爲Spring Security添加自定義密碼編碼器?

我想知道如何才能製作自定義密碼編碼器,這將允許我指定我想要如何密碼加密。

回答

1

當然,你也許並不需要一個自定義的編碼器,因爲它使用安全的命名空間配置<password-encoder>是很容易的:

<password-encoder hash="sha" base64="true" /> 

把這一行到您的安全context.xml中,它會使用ShaPasswordEncoder與啓用了SHA-1算法和BASE64編碼。

+0

謝謝。在我的authentication-manager標籤中,我有''。我有bean '。但我不斷收到一個錯誤,說它找不到'org.springframework.security.encoding.ShaPasswordEncoder' – Takkun

+1

你使用的是什麼版本的Spring Security? – Xaerxess

+0

spring-security-3.1 – Takkun

2

你可以直接使用這個。 構造函數的參數是SHA的強度編碼器

<beans:bean id="passwordEncoder" 
    class="org.springframework.security.authentication.encoding.ShaPasswordEncoder"> 
    <beans:constructor-arg index="0" value="1" /> 
</beans:bean> 
相關問題