
我想在我的Spring应用程序中使用ShaPasswordEncoder对密码进行编码.
ShaPasswordEncoder sha = new ShaPasswordEncoder(256);sha.setIterations(1000);String hash = sha.encodePassword(password,salt);但我不应该把它放在盐上.它可以是静态短语(例如sT4t1cPhr453),还是每个用户不同的动态字符串(例如用户名或用户ID)?
编辑:
我用户自定义AuthenticationProvIDer,所以我的安全上下文如下所示:
IDer ref="customAuthenticationProvIDer" />最佳答案如果您想明确定义salt,可以定义salt源:动态盐(基于用户名属性)
lias="authenticationManager"> IDer user-service-ref="userDetailsService"> 静盐
lias="authenticationManager"> IDer user-service-ref="userDetailsService"> 推荐的方法
如果您使用的是Spring Security 3.1,建议的方法是使用bcrypt,这会自动生成一个盐并连接它.
您可以像这样生成用户密码:
String password = "p4ssword";PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();String encodedPassword = passwordEncoder.encode(password); 总结 以上是内存溢出为你收集整理的如何使用ShaPasswordEncoder正确编码密码?全部内容,希望文章能够帮你解决如何使用ShaPasswordEncoder正确编码密码?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)