首頁  >  文章  >  Java  >  Springboot怎麼整合Jasypt實現設定檔加密

Springboot怎麼整合Jasypt實現設定檔加密

WBOY
WBOY轉載
2023-06-01 08:55:441294瀏覽

Jasypt介紹

Jasypt是一個java庫,它允許開發員以最少的努力為他/她的專案添加基本的加密功能,並且不需要對加密工作原理有深入的了解

用於單向和雙向加密的高安全性、基於標準的加密技術。加密密碼,文本,數字,二進位檔案...

適合整合到基於Spring的應用程式中,開放API,用於任何JCE提供者...

添加如下依賴:

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

Jasypt好處

        保護我們的系統安全,即使程式碼洩露,也可以確保資料來源的絕對安全。

應用場景

        將檔案中的所有帳號密碼加密,以及想要加密的東西進行加密。

使用方式

        透過金鑰對帳號或密碼加解密,專案啟動時候對密文進行解密。

實戰使用

加解密工具類

import org.jasypt.util.text.BasicTextEncryptor;
/********************************************************************************
 ** @author : ZYJ
 ** @date :2023/04/26
 ** @description :Jasypt加密解密
 *********************************************************************************/
public class Jasypt {
    public static void main(String[] args) {
        BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        //加密的密钥
        basicTextEncryptor.setPassword("Jasypt");
        //密码进行加密
        String encrypt = basicTextEncryptor.encrypt("密码:123456");
        //密码进行解密
        String decrypt = basicTextEncryptor.decrypt(encrypt);
        //结果输出
        System.out.println("加密后的结果:"+encrypt);
        System.out.println("加密后的结果:"+decrypt);
    }
}

修改設定文件,資料庫帳號密碼加密,將密文使用ENC()包含起來,放在括號裡面,用ENC()的意義在啟動的時候解密載入。

Springboot怎麼整合Jasypt實現設定檔加密

 在設定檔application.yml設定金鑰,用指定的金鑰進行解密

jasypt:
  encryptor:
    password: Jasypt

不過這種方式不可取,程式碼外洩帳號密碼就跟明文沒什麼差別,可以將金鑰配置在環境變數中,直接做為系統環境變數進行載入! !

金鑰透過環境變數方式進行指定,修改設定文件,將金鑰換成環境變數名稱,以${環境變數名稱}的形式,在啟動的時候透過環境變數名稱尋找變數值,也就是我們的密鑰! ! !

jasypt:
  encryptor:
    #環境變數變數名稱
    password: ${JASYPT_PASSWORD}

Windows環境變數方式指定

注意:在windows配置完環境變數的時候需要關閉IDEA重新打開,讓它載入環境變數。

Springboot怎麼整合Jasypt實現設定檔加密

Linux環境變數方式進行指定

#編輯環境變數檔案

vim /etc/profile

在最下方加上

export JASYPT_PASSWORD=Jasypt

儲存退出重新整理環境變數

source /etc /profile

以上是Springboot怎麼整合Jasypt實現設定檔加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除