您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Spring Boot配置內(nèi)容加密實(shí)現(xiàn)敏感信息保護(hù)的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
可能很多初學(xué)者,對(duì)于配置信息的加密并不敏感,因?yàn)殚_始主要接觸本地的開發(fā),對(duì)于很多安全問題并沒有太多的考慮。而現(xiàn)實(shí)中,我們的配置文件中,其實(shí)包含著大量與安全相關(guān)的敏感信息,比如:數(shù)據(jù)庫的賬號(hào)密碼、一些服務(wù)的密鑰等。這些信息一旦泄露,對(duì)于企業(yè)的重要數(shù)據(jù)資產(chǎn),那是相當(dāng)危險(xiǎn)的。 所以,對(duì)于這些配置文件中存在的敏感信息進(jìn)行加密,是每個(gè)成熟開發(fā)團(tuán)隊(duì)都一定會(huì)去的事。
第一步:創(chuàng)建一個(gè)基礎(chǔ)的Spring Boot項(xiàng)目
第二步:設(shè)計(jì)一個(gè)參數(shù)和單元測(cè)試,用來輸出這個(gè)配置信息
datasource.password=didispace.com
用來輸出配置信息的單元測(cè)試:
@Slf4j @SpringBootTest public class PropertiesTest { @Value("${datasource.password:}") private String password; @Test public void test() { log.info("datasource.password : {}", password); } }
執(zhí)行這個(gè)單元測(cè)試,會(huì)輸出:
2021-08-13 22:28:45.506 INFO 70405 --- [ main] com.didispace.chapter15.PropertiesTest : datasource.password : didispace.com
這里還沒開始加密,下面我們開始引入加密的操作!
第三步:在pom.xml
中引入jasypt提供的Spring Boot Starter
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency>
在插件配置中加入:
<plugin> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-maven-plugin</artifactId> <version>3.0.3</version> </plugin>
第四步:在配置文件中加入加密需要使用的密碼
jasypt.encryptor.password=didispace
同時(shí),修改要加密的內(nèi)容,用DEC()
將待加密內(nèi)容包裹起來,比如:
datasource.password=DEC(didispace.com)
第五步:使用jasypt-maven-plugin
插件來給DEC()
包裹的內(nèi)容實(shí)現(xiàn)批量加密。
在終端中執(zhí)行下面的命令:
mvn jasypt:encrypt -Djasypt.encryptor.password=didispace
注意:這里-Djasypt.encryptor.password參數(shù)必須與配置文件中的一致,不然后面會(huì)解密失敗。
執(zhí)行之后,重新查看配置文件,可以看到,自動(dòng)變成了
datasource.password=
ENC(/AL9nJENCYCh9Pfzdf2xLPsqOZ6HwNgQ3AnMybFAMeOM5GphZlOK6PxzozwtCm+Q)
jasypt.encryptor.password=didispace
其中,ENC()
跟DEC()
一樣都是jasypt提供的標(biāo)識(shí),分別用來標(biāo)識(shí)括號(hào)內(nèi)的是加密后的內(nèi)容和待加密的內(nèi)容。
如果當(dāng)前配置文件已經(jīng)都是ENC()
內(nèi)容了,那么我們可以通過下面的命令來解密配置文件,查看原始信息:
mvn jasypt:decrypt -Djasypt.encryptor.password=didispace
該操作不會(huì)修改配置文件,只會(huì)在控制臺(tái)輸出解密結(jié)果,比如:
datasource.password=DEC(didispace.com)
jasypt.encryptor.password=didispace
第六步:此時(shí),我們的配置文件中的敏感信息已經(jīng)被ENC()
修飾了,再執(zhí)行一下單元測(cè)試,不出意外的話,依然可以得到之前一樣的結(jié)果:
2021-08-13 22:50:00.463 INFO 76150 --- [ main] com.didispace.chapter15.PropertiesTest : datasource.password : didispace.com
而此時(shí),配置文件中已經(jīng)是加密內(nèi)容了,敏感信息得到了保護(hù)。
看完上述內(nèi)容,你們對(duì)Spring Boot配置內(nèi)容加密實(shí)現(xiàn)敏感信息保護(hù)的示例分析有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。