Spring Security 3 SHA-1含盐

Ben*_*obs 3 java xml security spring

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

我可以发布我的安全xml,但是如果我用加密的密码{salt}更新散列密码,一切正常.

谢谢你的帮助!

npe*_*npe 6

子类ShaPasswordEncoder并覆盖该mergePasswordAndSalt(String, Object, boolean)方法.你可以在这里看到它是如何最初实现的.只需修改字符串连接部分,就完成了.

然后,passwordEncoder像这样提供你自己的:

<beans:bean 
    id="passwordEncoder" 
    class="my.awesome.package.MyAwesomeShaPasswordEncoder"/>
Run Code Online (Sandbox Code Playgroud)