1、背景
公司項目使用的安全架構為SpringSecurity。使用者子產品的密碼加密使用的是SpringSecurity自身提供的加密器BCryptPasswordEncoder,将BCrypt(一種跨平台的加密工具)進行封裝。
在使用者注冊後,将密碼進行加密并存儲到資料庫。
2、介紹使用
@Component
public class EncodePasswordUtils {
public static String encodePassword(String password) {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
return encoder.encode(password);
}
}
3、解釋
BCryptPasswordEncoder:org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
本人在使用時與SpringSecurity結合使用,它是SpringSecurity進行封裝過的,在登入的時候使用SpringSecurity進行驗證,它會将使用者手動輸入的密碼進行加密,然後與資料庫中的密碼進行對比。
4、領悟
(1)此教程并不是教你如何使用BCryptPasswordEncoder,因為如果要使用BCryptPasswordEncoder,必須導入SpringSecurity插件此插件是一個安全架構,内容龐大。我們完全可以選擇其他的加密工具如:MD5,DES,RSA等,不要為了使用而去使用!
(2)而此教程的真正意義是新人在碰到新項目的時候看到BCryptPasswordEncoder類,而不知道這個類的作用,是以此教程教你隻是認識BCryptPasswordEncoder!