天天看點

BCryptPasswordEncoder密碼加密器

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!

繼續閱讀