成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Spring Boot配置文件密碼加密

IT那活兒 / 2456人閱讀
Spring Boot配置文件密碼加密
一. 使用背景

對于SpringBoot項目,項目中依賴的配置,例如數(shù)據(jù)庫的配置信息,默認(rèn)都是明文保存在配置文件中。這種方式存在密碼泄露風(fēng)險,在企業(yè)的安全掃描中也通過不了,所以需要對配置進行加密處理。今天介紹一種可以快速集成到SpringBoot的加解密庫Jasypt。

Jasypt是一個Java庫,允許開發(fā)人員以簡單的方式添加基本加密功能,而無需深入研究加密原理。利用它可以實現(xiàn)高安全性的,基于標(biāo)準(zhǔn)的加密技術(shù)。其實現(xiàn)原理是實現(xiàn)了 ApplicationContextInitializer 接口,重寫了獲取環(huán)境變量的方法,在容器初始化時對配置文件中的屬性進行判斷,若包含前后綴SNC()表示是加密屬性值,則進行解密并返回。


二. 使用方式

1. 在pom文件中引入依賴;

2. 在application.yml中配置加密所需的秘鑰以及加密屬性的前后綴;

3. 生成加密密碼;

方式一:通過Java代碼生成

/**
     * 加密
     *
     * @param plaintext 明文密碼
     * @return
     */

    public static String encrypt(String plaintext) {
        //加密工具
     StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        //加密配置
        EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
        config.setAlgorithm(ALGORITHM);
        //生成秘鑰的公鑰
        config.setPassword(PASSWORD);
        //應(yīng)用配置
encryptor.setConfig(config);
        //加密
        String ciphertext = encryptor.encrypt(plaintext);
        return ciphertext;
}

/**
     * 解密
     *
     * @param ciphertext 待解密秘鑰
     * @return
     */

    public static String decrypt(String ciphertext) {
        //加密工具
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        //加密配置
        EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
        config.setAlgorithm(ALGORITHM);
        //生成秘鑰的公鑰
        config.setPassword(PASSWORD);
        //應(yīng)用配置
encryptor.setConfig(config);
        //解密
        String pText = encryptor.decrypt(ciphertext);
        return pText;
    }

方式二:通過執(zhí)行命令生成

-- 加密
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=shsnc!@# password=shsnc123456 algorithm=PBEWithMD5AndDES

-- 解密
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input=z4xP29fuY4wF2AJqp1NnoGJxj password=shsnc123456 algorithm=PBEWithMD5AndDES

4. 替換application.properties需要加密的明文密碼為SNC(加密字符串)。

例如:

spring.datasource.password=SNC(CfZnyjpFubhzPzSZPDxo9tSdVRUmqkqW)
END


更多精彩干貨分享

點擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129836.html

相關(guān)文章

  • SpringBoot 入門簡介

    摘要:這里使用的是數(shù)據(jù)庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關(guān)配置,數(shù)據(jù)源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團隊提供的全新框架...

    chuyao 評論0 收藏0
  • Spring Cloud 參考文檔(Spring Cloud Config Server)

    摘要:,這是標(biāo)記配置文件集版本化的服務(wù)器端特性。要配置對稱密鑰,需要將設(shè)置為秘密字符串或使用環(huán)境變量將其排除在純文本配置文件之外。 Spring Cloud Config Server Spring Cloud Config Server為外部配置提供基于HTTP資源的API(名稱—值對或等效的YAML內(nèi)容),通過使用@EnableConfigServer注解,服務(wù)器可嵌入Spring Bo...

    harryhappy 評論0 收藏0
  • Spring Security 使用總結(jié)

    摘要:暑假的時候在學(xué)習(xí)了并成功運用到了項目中。這是提供的一個安全權(quán)限控制框架,可以根據(jù)使用者的需要定制相關(guān)的角色身份和身份所具有的權(quán)限,完成黑名單操作攔截?zé)o權(quán)限的操作。用戶通過登陸操作獲得我們返回的并保存在本地。 暑假的時候在學(xué)習(xí)了 Spring Security 并成功運用到了項目中。 在實踐中摸索出了一套結(jié)合 json + jwt(json web token) + Spring Boo...

    zoomdong 評論0 收藏0
  • Spring Security 使用總結(jié)

    摘要:暑假的時候在學(xué)習(xí)了并成功運用到了項目中。這是提供的一個安全權(quán)限控制框架,可以根據(jù)使用者的需要定制相關(guān)的角色身份和身份所具有的權(quán)限,完成黑名單操作攔截?zé)o權(quán)限的操作。用戶通過登陸操作獲得我們返回的并保存在本地。 暑假的時候在學(xué)習(xí)了 Spring Security 并成功運用到了項目中。 在實踐中摸索出了一套結(jié)合 json + jwt(json web token) + Spring Boo...

    tianyu 評論0 收藏0
  • 使用Jasypt對SpringBoot配置文件加密

    摘要:所以這里我們就需要對數(shù)據(jù)庫的用戶名和密碼進行加密,這也是本文的由來。本文采用對配置文件加密的相關(guān)方法,其實呢,也還有其他方案,具體的會在后面的相關(guān)文章中說明。 前言 在日前安全形勢越來越嚴(yán)重的情況下,讓我意識到在項目中存在一個我們經(jīng)常忽略的漏洞,那就是我們的項目的配置文件中配置信息的安全,尤其是數(shù)據(jù)庫連接的用戶名和密碼的安全。所以這里我們就需要對數(shù)據(jù)庫的用戶名和密碼進行加密,這也是本文...

    codergarden 評論0 收藏0
  • 10 種保護 Spring Boot 應(yīng)用的絕佳方法

    摘要:截至年月日,將網(wǎng)站標(biāo)記為不安全。管理密碼使用密碼哈希以純文本格式存儲密碼是最糟糕的事情之一。是中密碼哈希的主要接口,如下所示提供了幾種實現(xiàn),最受歡迎的是和。 Spring Boot大大簡化了Spring應(yīng)用程序的開發(fā)。它的自動配置和啟動依賴大大減少了開始一個應(yīng)用所需的代碼和配置量,如果你已經(jīng)習(xí)慣了Spring和大量XML配置,Spring Boot無疑是一股清新的空氣。 Spring ...

    Jeffrrey 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<