Java 春季安全3号SHA-1含盐

Java 春季安全3号SHA-1含盐,java,xml,spring,security,Java,Xml,Spring,Security,我有一个我们正在重写的遗留应用程序,我正在转换现有的用户表。密码是用sha-1和salt加密的。特别是salt+密码。例如,如果salt是ABC123,密码是XYZ789,那么将被加密的字符串是ABC123XYZ789。Spring Security默认加密字符串XYZ789{ABC123}。如何实现我自己的密码加密/验证以绕过Spring Security的默认加密 我可以发布我的安全xml,但如果我用{salt}加密的密码更新哈希密码,一切都正常 谢谢你的帮助 子类化并重写mergePass

我有一个我们正在重写的遗留应用程序,我正在转换现有的用户表。密码是用sha-1和salt加密的。特别是salt+密码。例如,如果salt是ABC123,密码是XYZ789,那么将被加密的字符串是ABC123XYZ789。Spring Security默认加密字符串XYZ789{ABC123}。如何实现我自己的密码加密/验证以绕过Spring Security的默认加密

我可以发布我的安全xml,但如果我用{salt}加密的密码更新哈希密码,一切都正常

谢谢你的帮助

子类化并重写
mergePasswordAndSalt(字符串、对象、布尔值)
方法。你可以看到。只要修改字符串连接部分,就完成了

然后,提供您自己的
密码编码器
,如下所示:

<beans:bean 
    id="passwordEncoder" 
    class="my.awesome.package.MyAwesomeShaPasswordEncoder"/>

SHA-1是a,但不是a。谢谢!我实现了这个,它工作得非常好。正是我所需要的。