1. 程式人生 > 程式設計 >Springboot專案對資料庫使用者名稱密碼實現加密過程解析

Springboot專案對資料庫使用者名稱密碼實現加密過程解析

pom.xml檔案中引入如下內容

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

儲存pom.xml檔案,更新jar

將當前路徑切換到jasypt包目錄下:

使用如下命令進行密碼加密:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="password" password=fantasy algorithm=PBEWithMD5AndDES

其中input為需要加密的密碼

password為加密時採用的祕鑰

algorithm為加密演算法,預設演算法為PBEWithMD5AndDES

最後得到password加密後的密文:2p9NblOkkwNqsYhDruu5TFPR1RgkL9aH

注意:每次執行得到的結果不一樣(不用好奇,都是有效的)

將加密後密碼密文配置到spring boot的配置檔案的資料來源配置選項中

如:spring.datasource.password=ENC(2p9NblOkkwNqsYhDruu5TFPR1RgkL9aH)

在程式中獲取到的spring.datasource.password會自動轉換成明文內容(password)

注意:密文格式為

ENC(密文)

在java啟動的環境變數中設定加密的祕鑰

-Djasypt.encryptor.password=fantasy

5.啟動專案,正常訪問就OK了!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。