如何使用ShaPasswordEncoder正确编码密码?

如何使用ShaPasswordEncoder正确编码密码?,第1张

概述我想在我的Spring应用程序中使用ShaPasswordEncoder对密码进行编码.ShaPasswordEncoder sha = new ShaPasswordEncoder(256); sha.setIterations(1000); String hash = sha.encodePassword(password, salt); 但我不应该把它

我想在我的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正确编码密码?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1239984.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)