首页 > 学院 > 开发设计 > 正文

springboot+security 的BCryptPasswordEncoder 使用

2019-11-06 07:18:27
字体:
来源:转载
供稿:网友

任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。有很多标准的算法比如SHA或者md5,结合salt(盐)是一个不错的选择。 SPRing Security 提供了BCryptPassWordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。

BCrypt强哈希方法 每次加密的结果都不一样。

好了废话不多说,就看怎么整合吧。。

1. 修改 WebSecurityConfig

@Autowired protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(customUserService).passwordEncoder(new BCryptPasswordEncoder()); }

这样配置就好了。但是关于怎么初始化密码呢,和注册用户的时候怎么给密码加密呢?

public SysUser create(User u user){ //进行加密 BCryptPasswordEncoder encoder =new BCryptPasswordEncoder(); sysUser.setPassword(encoder.encode(user.getRawPassword().trim())); userDao.create(user); return sysUser;

虽然每次 BCryptPasswordEncoder 的 encoder 结果都不一样,但是存贮其中一次加密结果 也能够验证成功


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表