Springboot專案對資料庫使用者名稱密碼實現加密過程解析
阿新 • • 發佈:2020-06-17
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了!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。