1

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

我想知道如何制作一个自定义密码编码器,它可以让我准确指定我希望如何加密密码。

4

2 回答 2

3

你可以直接使用这个。构造函数参数是 SHA 编码器的强度

<beans:bean id="passwordEncoder"
    class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
    <beans:constructor-arg index="0" value="1" />
</beans:bean>
于 2012-10-29T08:32:29.137 回答
2

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

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

将此行放入您的 security-context.xml 中,它将ShaPasswordEncoder与 SHA-1 算法和启用的 BASE64 编码一起使用。

于 2012-09-19T19:50:12.800 回答