国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

Spring Boot配置文件密碼加密

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

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

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


二. 使用方式

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

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

3. 生成加密密碼;

方式一:通過(guò)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;
    }

方式二:通過(guò)執(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


更多精彩干貨分享

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

IT那活兒

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/129836.html

相關(guān)文章

  • SpringBoot 入門(mén)簡(jiǎn)介

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

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

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

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

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

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

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

    tianyu 評(píng)論0 收藏0
  • 使用Jasypt對(duì)SpringBoot配置文件加密

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

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

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

    Jeffrrey 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<