最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?Boot配置內(nèi)容加密實(shí)現(xiàn)敏感信息保護(hù)

 更新時(shí)間:2021年11月25日 17:21:11   作者:廈門(mén)在乎科技  
之前我們講過(guò)的配置相關(guān)知識(shí)都是Spring?Boot原生就提供的,而今天我們將介紹的功能并非Spring?Boot原生就支持,但卻非常有用:配置內(nèi)容的加密

在之前的系列教程中,我們已經(jīng)介紹了非常多關(guān)于Spring Boot配置文件中的各種細(xì)節(jié)用法,比如:參數(shù)間的引用、隨機(jī)數(shù)的應(yīng)用、命令行參數(shù)的使用、多環(huán)境的配置管理等等。

為什么要加密?

可能很多初學(xué)者,對(duì)于配置信息的加密并不敏感,因?yàn)殚_(kāi)始主要接觸本地的開(kāi)發(fā),對(duì)于很多安全問(wèn)題并沒(méi)有太多的考慮。而現(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è)成熟開(kāi)發(fā)團(tuán)隊(duì)都一定會(huì)去的事。

第一步:創(chuàng)建一個(gè)基礎(chǔ)的Spring Boot項(xiàng)目

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

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

datasource.password=didispace.com

用來(lái)輸出配置信息的單元測(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

這里還沒(méi)開(kāi)始加密,下面我們開(kāi)始引入加密的操作!

第三步:在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)容包裹起來(lái),比如:

datasource.password=DEC(didispace.com)

第五步:使用jasypt-maven-plugin插件來(lái)給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í),分別用來(lái)標(biāo)識(shí)括號(hào)內(nèi)的是加密后的內(nèi)容和待加密的內(nèi)容。

如果當(dāng)前配置文件已經(jīng)都是ENC()內(nèi)容了,那么我們可以通過(guò)下面的命令來(lá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ù)。

以上就是Spring Boot配置內(nèi)容加密實(shí)現(xiàn)敏感信息保護(hù)的詳細(xì)內(nèi)容,更多關(guān)于Spring Boot配置內(nèi)容加密保護(hù)敏感信息的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mybatis pagehelper分頁(yè)插件使用過(guò)程解析

    Mybatis pagehelper分頁(yè)插件使用過(guò)程解析

    這篇文章主要介紹了mybatis pagehelper分頁(yè)插件使用過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • windows7配置java環(huán)境變量的圖文教程

    windows7配置java環(huán)境變量的圖文教程

    這篇文章主要介紹了windows7配置java環(huán)境變量的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • JSONObject與JSONArray的使用

    JSONObject與JSONArray的使用

    這篇文章主要介紹了JSONObject與JSONArray的使用 的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • Java 自定義錯(cuò)誤類(lèi)示例代碼

    Java 自定義錯(cuò)誤類(lèi)示例代碼

    以下是對(duì)Java中自定義錯(cuò)誤類(lèi)的示例代碼進(jìn)行了介紹。需要的朋友可以過(guò)來(lái)參考下
    2013-08-08
  • Java 中的 Unsafe 魔法類(lèi)的作用大全

    Java 中的 Unsafe 魔法類(lèi)的作用大全

    Unsafe是位于sun.misc包下的一個(gè)類(lèi),主要提供一些用于執(zhí)行低級(jí)別、不安全操作的方法,關(guān)于Java 中的 Unsafe 魔法類(lèi),到底有啥用處,你都了解嗎,下面通過(guò)本文給大家普及一下
    2021-06-06
  • linux部署出現(xiàn)java文件操作報(bào)錯(cuò):java.io.FileNotFoundException解決辦法

    linux部署出現(xiàn)java文件操作報(bào)錯(cuò):java.io.FileNotFoundException解決辦法

    這篇文章主要g介紹了linux部署出現(xiàn)java文件操作報(bào)錯(cuò):java.io.FileNotFoundException解決的相關(guān)資料,這個(gè)錯(cuò)誤通常表示你的Spring Boot應(yīng)用程序無(wú)法找到指定的文本文件,需要的朋友可以參考下
    2023-12-12
  • Java?Mybatis的初始化之Mapper.xml映射文件的詳解

    Java?Mybatis的初始化之Mapper.xml映射文件的詳解

    這篇文章主要介紹了Java?Mybatis的初始化之Mapper.xml映射文件的詳解,解析完全局配置文件后接下來(lái)就是解析Mapper文件了,它是通過(guò)XMLMapperBuilder來(lái)進(jìn)行解析的
    2022-08-08
  • springboot源碼中this::selfInitialize怪異用法的含義解析

    springboot源碼中this::selfInitialize怪異用法的含義解析

    這篇文章主要介紹了springboot源碼中this::selfInitialize怪異用法的含義解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 詳解在Java的Struts2框架中配置Action的方法

    詳解在Java的Struts2框架中配置Action的方法

    這篇文章主要介紹了詳解在Java的Struts2框架中配置Action的方法,講解了包括struts.xml中的action配置及基于注解方式Action配置的兩個(gè)方式,需要的朋友可以參考下
    2016-03-03
  • Ubuntu安裝jdk8常用方法流程解析

    Ubuntu安裝jdk8常用方法流程解析

    這篇文章主要介紹了Ubuntu安裝jdk8常用方法流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論

龙海市| 金川县| 邮箱| 江油市| 芮城县| 沙雅县| 舞钢市| 黔西| 威海市| 铜梁县| 西平县| 德令哈市| 民县| 巴青县| 略阳县| 阿拉善左旗| 金沙县| 江门市| 寿光市| 宁城县| 平塘县| 浮梁县| 永和县| 防城港市| 长海县| 汉阴县| 安岳县| 定兴县| 长顺县| 区。| 航空| 鄂伦春自治旗| 靖远县| 广州市| 郯城县| 台湾省| 长丰县| 监利县| 德江县| 疏勒县| 丹阳市|