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

Jasypt對(duì)SpringBoot配置文件加密

 更新時(shí)間:2021年05月21日 09:10:43   作者:請(qǐng)叫我頭頭哥  
數(shù)據(jù)庫(kù)密碼直接明文寫在配置中,對(duì)安全來說,是一個(gè)很大的挑戰(zhàn)。一旦密碼泄漏,將會(huì)帶來很大的安全隱患。尤其在一些企業(yè)對(duì)安全性要求很高,因此我們就考慮如何對(duì)密碼進(jìn)行加密。本文著重介紹Jasypt對(duì)SpringBoot配置文件加密。

引入maven

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

生成加密串

將連接數(shù)據(jù)庫(kù)的用戶名和密碼進(jìn)行加密

    public static void main(String[] args) {
        BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
        //加密所需的salt(鹽)
        textEncryptor.setPassword("Bt%XJ^n1j8mz");
        //要加密的數(shù)據(jù)(數(shù)據(jù)庫(kù)的用戶名或密碼)
        String username = textEncryptor.encrypt("toutou");
        String password = textEncryptor.encrypt("demo123456");
        System.out.println("username:"+username);
        System.out.println("password:"+password);
    }

輸出結(jié)果如下:

將用戶名和密碼加密對(duì)應(yīng)生成的結(jié)果復(fù)制下來,后面會(huì)用到。

配置properties

將生成的加密串配置ENC(加密串)到application.properties中

#數(shù)據(jù)庫(kù)相關(guān)配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mytest?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8
# 加密所需的salt(鹽)
#jasypt.encryptor.password=Bt%XJ^n1j8mz
# 默認(rèn)加密方式PBEWithMD5AndDES,可以更改為PBEWithMD5AndTripleDES
#jasypt.encryptor.algorithm=PBEWithMD5AndDES
spring.datasource.username=ENC(d/qt1SXvttpkiugIzTYkxg==)
spring.datasource.password=ENC(rhT6VNpoRUkQYYOHAQ58V4/+fkj9CWfT)
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5

動(dòng)態(tài)salt(鹽)值

解密秘鑰也在配置文件里頭啊,別人拿到你服務(wù)器上面的部署代碼后,不是很輕松的就可以解開這個(gè)密碼了?

為了防止salt(鹽)泄露,反解出密碼.刪除掉application.properties中的 jasypt.encryptor.password 可以在本地運(yùn)行中加參數(shù)。如下圖:

或是在項(xiàng)目部署的時(shí)候使用命令傳入salt(鹽)值。

打包時(shí)隱藏jasypt.encryptor.password,就需要打包時(shí)maven命令增加參數(shù) clean package -Djasypt.encryptor.password=Bt%XJ^n1j8mz 。不加參數(shù)的話打包就會(huì)報(bào)錯(cuò)。如下圖:

然后在部署時(shí)添加參數(shù) Djasypt.encryptor.password 。

部署時(shí)完整命令: java -jar -Djasypt.encryptor.password=Bt%XJ^n1j8mz hello-0.0.1-SNAPSHOT.jar

博客總結(jié)

數(shù)據(jù)加密,是一門歷史悠久的技術(shù),指通過加密算法和加密密鑰將明文轉(zhuǎn)變?yōu)槊芪?,而解密則是通過解密算法和解密密鑰將密文恢復(fù)為明文。它的核心是密碼學(xué)。數(shù)據(jù)加密仍是計(jì)算機(jī)系統(tǒng)對(duì)信息進(jìn)行保護(hù)的一種最可靠的辦法。它利用密碼技術(shù)對(duì)信息進(jìn)行加密,實(shí)現(xiàn)信息隱蔽,從而起到保護(hù)信息的安全的作用。

安全重于泰山。

源碼地址

github.com/toutouge/ja…

其他參考資料:

github.com/ulisesbocch…

以上就是Jasypt對(duì)SpringBoot配置文件加密的步驟的詳細(xì)內(nèi)容,更多關(guān)于Jasypt對(duì)SpringBoot配置文件加密的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring @Primary和@Qualifier注解原理解析

    Spring @Primary和@Qualifier注解原理解析

    這篇文章主要介紹了Spring @Primary和@Qualifier注解原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • springboot整合springsecurity與mybatis-plus的簡(jiǎn)單實(shí)現(xiàn)

    springboot整合springsecurity與mybatis-plus的簡(jiǎn)單實(shí)現(xiàn)

    Spring Security基于Spring開發(fā),項(xiàng)目中如果使用Spring作為基礎(chǔ),配合Spring Security做權(quán)限更加方便,而Shiro需要和Spring進(jìn)行整合開發(fā)。因此作為spring全家桶中的Spring Security在java領(lǐng)域很常用
    2021-10-10
  • SpringSecurity 自定義表單登錄的實(shí)現(xiàn)

    SpringSecurity 自定義表單登錄的實(shí)現(xiàn)

    這篇文章主要介紹了SpringSecurity 自定義表單登錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 搭建JavaWeb服務(wù)器步驟詳解

    搭建JavaWeb服務(wù)器步驟詳解

    本篇文章主要給大家詳細(xì)分享了搭建JavaWeb服務(wù)器的詳細(xì)步驟以及用到的代碼,對(duì)此有需要的朋友可以跟著學(xué)習(xí)下。
    2018-02-02
  • Java深度優(yōu)先遍歷解決排列組合問題詳解

    Java深度優(yōu)先遍歷解決排列組合問題詳解

    這篇文章主要介紹了Java深度優(yōu)先遍歷解決排列組合問題詳解,深度優(yōu)先搜索是遞歸過程,帶有回退操作,因此需要使用棧存儲(chǔ)訪問的路徑信息,當(dāng)訪問到的當(dāng)前頂點(diǎn)沒有可以前進(jìn)的鄰接頂點(diǎn)時(shí),需要進(jìn)行出棧操作,將當(dāng)前位置回退至出棧元素位置,需要的朋友可以參考下
    2024-01-01
  • 淺析SpringBoot自動(dòng)裝配的實(shí)現(xiàn)

    淺析SpringBoot自動(dòng)裝配的實(shí)現(xiàn)

    springboot開箱即用,其實(shí)實(shí)現(xiàn)了自動(dòng)裝配,本文重點(diǎn)給大家介紹SpringBoot是如何做到自動(dòng)裝配的,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • 聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別

    聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別

    這篇文章主要介紹了聊聊Arrays.deepToString()和Arrays.toString()的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 如何實(shí)現(xiàn)java8 list按照元素的某個(gè)字段去重

    如何實(shí)現(xiàn)java8 list按照元素的某個(gè)字段去重

    這篇文章主要介紹了如何實(shí)現(xiàn)java8 list按照元素的某個(gè)字段去重,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • Mybatis中特殊SQL的執(zhí)行

    Mybatis中特殊SQL的執(zhí)行

    這篇文章主要介紹了Mybatis中特殊SQL的執(zhí)行,介紹內(nèi)容包括模糊查詢、批量刪除、動(dòng)態(tài)設(shè)置表名、添加功能獲取自增的主鍵等相關(guān)資料,需要的小伙伴可以參考一下
    2022-04-04
  • Netty的Handler鏈調(diào)用機(jī)制及如何組織詳解

    Netty的Handler鏈調(diào)用機(jī)制及如何組織詳解

    這篇文章主要為大家介紹了Netty的Handler鏈調(diào)用機(jī)制及如何組織示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論

瓦房店市| 万源市| 巩义市| 临澧县| 东平县| 瑞金市| 富源县| 蓬溪县| 龙陵县| 玉溪市| 漯河市| 库伦旗| 宜阳县| 衡南县| 阿城市| 南和县| 麦盖提县| 化德县| 岱山县| 正安县| 阿拉善左旗| 城市| 比如县| 西盟| 杂多县| 彭水| 昆山市| 漳浦县| 曲水县| 姜堰市| 保靖县| 张北县| 遵化市| 社会| 大埔区| 晋州市| 饶阳县| 云林县| 台南县| 延庆县| 江西省|