1. 程式人生 > 程式設計 >SpringBoot使用jasypt加解密密碼的實現方法(二)

SpringBoot使用jasypt加解密密碼的實現方法(二)

在我們的服務中不可避免的需要使用到一些祕鑰(資料庫、redis等)

開發和測試環境還好,但生產如果採用明文配置講會有安全問題,jasypt是一個通用的加解密庫,我們可以使用它。

<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
  <version>2.1.1</version>
</dependency>

配置檔案:

# 加密的金鑰
# 測試環境可以採用在配置檔案中配置
# 生產環境建議採用啟動引數的形式傳入
# 其他配置引數參考:com.ulisesbocchio.jasyptspringboot.properties.JasyptEncryptorConfigurationProperties
jasypt.encryptor.password=you salt

# 解密得到原始密碼
spring.datasource.password= ENC(密文)

那密文怎麼來的呢?

@Autowired
StringEncryptor stringEncryptor;

@Test
public void encrypt() {
  System.out.println("PWD: " + stringEncryptor.encrypt("yourpassword"));
}
public static void main(String[] args) {
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    //加密所需的salt(鹽)
    textEncryptor.setPassword("G0CvDz7oJn6");
    //要加密的資料(資料庫的使用者名稱或密碼)
    String username = textEncryptor.encrypt("root");
    String password = textEncryptor.encrypt("root123");
    System.out.println("username:"+username);
    System.out.println("password:"+password);
  }

jasypt預設使用StringEncryptor來進行加解密,我們也可以自定義自己的加解密類來替換它,具體使用者用時請百度/google。

到此這篇關於SpringBoot使用jasypt加解密密碼的實現方法(二)的文章就介紹到這了,更多相關SpringBoot加解密密碼內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!