宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動(dòng)態(tài)
精選推薦

Spring Boot 2.x基礎(chǔ)教程:加密配置中的敏感信息

管理 管理 編輯 刪除

關(guān)于Spring Boot配置文件中的各種細(xì)節(jié)用法有很多,比如:參數(shù)間的引用open in new window、隨機(jī)數(shù)的應(yīng)用open in new window等等。這些配置相關(guān)的知識(shí)都是Spring Boot原生就提供的,而今天我們將介紹的功能并非Spring Boot原生就支持,但卻非常有用:配置內(nèi)容的加密。

為什么要加密?

可能很多初學(xué)者,對(duì)于配置信息的加密并不敏感,因?yàn)殚_始主要接觸本地的開發(fā),對(duì)于很多安全問題并沒有太多的考慮。而現(xiàn)實(shí)中,我們的配置文件中,其實(shí)包含著大量與安全相關(guān)的敏感信息,比如:數(shù)據(jù)庫(kù)的賬號(hào)密碼、一些服務(wù)的密鑰等。這些信息一旦泄露,對(duì)于企業(yè)的重要數(shù)據(jù)資產(chǎn),那是相當(dāng)危險(xiǎn)的。 所以,對(duì)于這些配置文件中存在的敏感信息進(jìn)行加密,是每個(gè)成熟開發(fā)團(tuán)隊(duì)都一定會(huì)去的事。

所以今天我們就主要來說說,當(dāng)我們只使用Spring Boot的時(shí)候,如何實(shí)現(xiàn)對(duì)配置中敏感信息的加密。

動(dòng)手試試

下面我們將使用https://github.com/ulisesbocchio/jasypt-spring-boot這個(gè)開源項(xiàng)目提供的實(shí)現(xiàn)和插件,來幫助我們輕松的完成配置信息的加密。

趕緊跟著我下面的步驟動(dòng)手試試吧!

第一步:創(chuàng)建一個(gè)基礎(chǔ)的Spring Boot項(xiàng)目(如果您還不會(huì),可以參考這篇文章:快速入門open in new window

第二步:設(shè)計(jì)一個(gè)參數(shù)和單元測(cè)試,用來輸出這個(gè)配置信息

準(zhǔn)備加密的配置:

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


    com.github.ulisesbocchio
    jasypt-spring-boot-starter
    3.0.3

在插件配置中加入:


    com.github.ulisesbocchio
    jasypt-maven-plugin
    3.0.3

第四步:在配置文件中加入加密需要使用的密碼

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ù)。

注意:如果在嘗試的時(shí)候,出現(xiàn)報(bào)錯(cuò):DecryptionException: Unable to decrypt,點(diǎn)擊本文查看可能的原因open in new window


注:本文轉(zhuǎn)載自“程序猿DD”,如有侵權(quán),請(qǐng)聯(lián)系刪除!

請(qǐng)登錄后查看

哈哈哈醬 最后編輯于2024-12-18 15:02:14

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無(wú)簡(jiǎn)介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
1192
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動(dòng)態(tài) 精選推薦 首頁(yè)頭條 首頁(yè)動(dòng)態(tài) 首頁(yè)推薦
取 消 確 定
回復(fù)
回復(fù)
問題:
問題自動(dòng)獲取的帖子內(nèi)容,不準(zhǔn)確時(shí)需要手動(dòng)修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當(dāng)前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請(qǐng)輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認(rèn)打賞

微信登錄/注冊(cè)

切換手機(jī)號(hào)登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

{{codeText}}
切換微信登錄/注冊(cè)
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服