如何在Spring Security中添加自定义密码编码器?

时间:2012-09-19 19:37:33

标签: spring spring-security

我正在尝试将Web项目转换为Spring。 我已经合并了Spring Security,但旧项目使用SHA-1转换为十六进制字符串来加密用户密码。

我想知道如何制作一个自定义密码编码器,这样我就可以准确指定密码的加密方式。

2 个答案:

答案 0 :(得分:2)

您可以直接使用它。 构造函数参数是SHA Encoder的优势

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

答案 1 :(得分:1)

当然,您可能不需要自定义编码器,因为使用安全性的命名空间配置<password-encoder>非常容易:

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

将此行放入security-context.xml中,并使用ShaPasswordEncoder并启用SHA-1算法和BASE64编码。