springboot+security 的BCryptPasswordEncoder 使用


轉載鏈接:https://blog.csdn.net/u012373815/article/details/60465776

任何應用考慮到安全,絕不能明文的方式保存密碼。密碼應該通過哈希算法進行加密。有很多標准的算法比如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  user){
//進行加密
BCryptPasswordEncoder encoder =new BCryptPasswordEncoder();
sysUser.setPassword(encoder.encode(user.getRawPassword().trim()));
userDao.create(user);
return sysUser;

 

雖然每次 BCryptPasswordEncoder 的 encoder 結果都不一樣,但是存貯其中一次加密結果 也能夠驗證成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM