溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jasypt使用SpringBoot如何實現(xiàn)對數(shù)據(jù)庫的密碼進行加密

發(fā)布時間:2020-11-19 15:36:16 來源:億速云 閱讀:1223 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)jasypt使用SpringBoot如何實現(xiàn)對數(shù)據(jù)庫的密碼進行加密,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、pom.xml添加jar包(不同jdk選擇不同的版本):

<!-- jdk8 版本 整合jasypt對數(shù)據(jù)庫密碼加密 -->
<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
  <version>1.14</version>
</dependency>
<!-- jdk7版本-->
<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>1.5-java7</version>
</dependency>
<!-- jdk6版本-->
<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>1.5-java6</version>
</dependency>

2、window 窗口打開命令窗口,輸入命令:

java -cp D:\mavenspace\repository\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=allanpassword algorithm=PBEWithMD5AndDES

java –cp jar包所在路徑\jar包 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=”你的數(shù)據(jù)庫密碼” password=加密字段,隨意設(shè)置algorithm=默認PBEWithMD5AndDES加密

參數(shù)說明:

input =數(shù)據(jù)庫鏈接密碼

password=加密字段,隨意設(shè)置(配置文件中需要添加此密碼,相當于約定密碼)

algorithm= 算法,默認PBEWithMD5AndDES

運行命令后如圖:

jasypt使用SpringBoot如何實現(xiàn)對數(shù)據(jù)庫的密碼進行加密

----OUTPUT----------------------

Ekgkm+TzSmf7w7bcr90gMV6MAwj0waW+

OUTPUT 就是加密后的密碼,在配置項目密碼時結(jié)合ENC() 使用,如下圖:

3、項目中添加配置(以springboot為例),如圖:

jasypt使用SpringBoot如何實現(xiàn)對數(shù)據(jù)庫的密碼進行加密

# 數(shù)據(jù)庫密碼加密配置

jasypt:
 encryptor:
password: allanpassword
spring MySQL密碼寫法:
password: ENC(Ekgkm+TzSmf7w7bcr90gMV6MAwj0waW+)

4、springboot啟動類添加注解使其生效:

jasypt使用SpringBoot如何實現(xiàn)對數(shù)據(jù)庫的密碼進行加密

以上配置完成,啟動項目運行,查詢數(shù)據(jù)庫,成功!

補充知識:SpringBoot(Spring)使用jasypt處理加密問題

前景:為了防止配置文件里面的明文密碼泄露

1.引入依賴:(針對SpringBoot的)

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

2.配置文件配置參數(shù)

#這里可以理解成是加解密的時候使用的密鑰 (也可以考慮多配置認證信息jasypt.encryptor.algorithm)

jasypt.encryptor.password=youPassword

3.編寫測試類得到加密密碼

@Autowired 
StringEncryptor stringEncryptor; 
 
@Test 
public void encryptPwd() { 
  String result = stringEncryptor.encrypt("yourPassword"); 
  System.out.println(result);  
}

4.修改配置文件里面的明文密碼

spring.datasource.druid.first.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.first.url=
spring.datasource.druid.first.username=root

spring.datasource.druid.first.password=ENC(AfHowGWt0tQ6LXRoJ7GkAlImTKkfDg1Y1Er)

5.通過命令行運行 jasypt-1.9.2.jar 包命令來加密解密

1.在jar包所在目錄打開命令行,運行如下加密命令:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="明文" password=jasypt配置密碼 algorithm=PBEWithMD5AndDES

2. 使用剛才加密出來的結(jié)果進行解密,執(zhí)行如下解密命令:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="加密后的密文" password=jasypt配置密碼 algorithm=PBEWithMD5AndD

上述就是小編為大家分享的jasypt使用SpringBoot如何實現(xiàn)對數(shù)據(jù)庫的密碼進行加密了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI