1. 程式人生 > >springboot(14)配置檔案加密解密

springboot(14)配置檔案加密解密

1、介紹

jasypt可以在springboot注入property和yml配置檔案中的值之前,將配置檔案中的值先預先處理的工具。可以用來實現對資料庫賬號密碼等敏感資訊密文解密的功能。

2、Maven依賴

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

3、註冊解密Bean

@Configuration
public class EncryptionPropertyConfig {

    @Bean(name="encryptablePropertyResolver")
    public EncryptablePropertyResolver encryptablePropertyResolver() {
        return new EncryptionPropertyResolver();
    }

    class EncryptionPropertyResolver implements EncryptablePropertyResolver {

        @Override
public String resolvePropertyValue(String value) { if(StringUtils.isBlank(value)) { return value; } // 值以[email protected]開頭的均為DES加密,需要解密 if(value.startsWith("[email protected]")) { return resolveDESValue(value.substring(4
)); } // 不需要解密的值直接返回 return value; } private String resolveDESValue(String value) { // 自定義DES密文解密 return DESUtil.getDecryptString(value); } } }

4、測試

4.1、property配置檔案

# 127.0.0.1的密文為e3zcSlYS29N0Y3i+mVdkgQ==
datasource.host[email protected]+mVdkgQ==
# 3306的密文為S6mBLsaSBEw=
datasource.port[email protected]=
datasource.database=test
datasource.url=jdbc:mysql://${datasource.host}:${datasource.port}/${datasource.database}?useUnicode=true&amp;characterEncoding=utf8

4.2、注入

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class ApplicationTests {

    @Value("${datasource.url}")
    private String url;

    @Test
    public void testJasypt() {
        System.out.println(url);
    }

}

4.3、輸出

jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf8

相關推薦

springboot(14)配置檔案加密解密

1、介紹 jasypt可以在springboot注入property和yml配置檔案中的值之前,將配置檔案中的值先預先處理的工具。可以用來實現對資料庫賬號密碼等敏感資訊密文解密的功能。 2、

springboot 資料庫配置檔案加密過程

用於application.properties資料庫密碼加密或者其他配置檔案內容加密 1.匯入jar包 <!--jdbc加密--> <dependency> <groupId>com.github.ulisesbocchio

使用Jasypt對SpringBoot配置檔案加密

引入jasypt <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-star

加密配置檔案解密配置檔案

           ASP.NET 2.0加密網站配置檔案    /// <summary>     /// 加密配置檔案     /// </summary>     /// <param name="sectionName">要加密的

Springboot讀取配置檔案、pom檔案及自定義配置檔案

前言 很多人都知道讀取配置檔案,這是初級做法,上升一點難度是使用java bean的方式讀取自定義配置檔案,但是大家很少有知道讀取pom檔案資訊,接下來我都會講到。 正文 筆者還是基於Spring Boot ::        (v1.5.8.RE

1定時器(springboot 和spring的區別: springboot配置檔案不用配)

在Spring Boot中使用@Scheduled實現定時任務 之前沒有使用Spring Boot的Java風格配置的時候,用XML配置過@Scheduled定時任務,現在都習慣使用Java風格配置了,在此簡單記錄 一下Spring Boot的@Scheduled定時任務的實現過程。 1.

springBoot 讀取配置檔案yml中的資訊

yml中自定義一些變數 var: analyze_url: test ocr_url: test microsoft_key: test 對映到類變數中 @Getter @Component public class varModel { @Value("${var.

springboot配置檔案application.properties的理解

springboot中配置檔案application.properties的理解 前言 Spring Boot使用“習慣優於配置”(專案中存在大量的配置,此外還內建了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的專案快速執行起來。所以,我們要想把Spring Boot玩的溜,就要懂得如

springboot .propertis 配置檔案

問題1:Spring如何載入配置,配置檔案位置? 1、預設位置:     Spring Boot預設的配置檔名稱為application.properties,SpringApplication將從以下位置載入application.properties檔案,並把它們新增

Springboot配置檔案配置大全

前言 今天下午,無意中翻到之前整理的Springboot的配置檔案相關配置,才想起自己很早之前還整理過這樣的東西,時間長了自己都給忘了。。。今天,就正好給大家分享下 配置 #############################################################

[SpringBoot] - 瞭解什麼是SpringBoot,使用SpringBoot配置檔案

首先明白Spring是什麼,Spring是Java開發的一個框架,為了方便簡化Java開發.  什麼是註解(註解式開發)? Spring的常用註解有哪些?   假如用SpringBoot構建一個網站程式,應該怎樣考慮構建?第一步應該做什麼? SpringBoot是將所

ssh中資料庫配置檔案加密方法

 在applicationContext.xml檔案中 <bean id="propertyConfigurer" class="com.common.util.ProPertyPlaceholderConfigure">       

SpringBoot配置檔案application.properties/yml

src/main/java/resources目錄下 1.自定義屬性 提供自定義屬性的支援,這樣我們就可以把一些常量配置在這裡: 然後直接在要使用的地方通過註解@Value(value=”${config.name}”)就可以繫結到你想要的屬性上面 package com.ex

SpringBoot開發詳解(二)--SpringBoot配置檔案以及註解

轉載自:https://blog.csdn.net/qq_31001665/article/details/69938750 一、Spring Boot註解 通過上一篇文章,我們已經快速構建了一個spring boot的專案,那spring boot專案和我們之前使用的springMVC專案

SpringBoot獲取配置檔案的自定義引數

1、在application.properties中自定義引數 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?characte

解析SpringBoot配置檔案(.yml/.yaml)

解析SpringBoot中配置檔案(.yml/.yaml) springBoot配置檔案的載入有先後順序為: 1.application.yml 2.application.yaml 3.application.properoties 後加載的會把先載入的給覆蓋掉 #普通資料的配置

[springboot](四)配置檔案+filter

前言 分散配置是系統必不可少的一部分,將配置引數抽離出來為後期維護提供很大的便利。spring boot 預設支援兩個格式的配置檔案:.properties .yml。 .properties與.yml *.properties屬性檔案;屬於最常見的一種;

python3 RSA演算法生成祕鑰對、檔案加密解密

RSA檔案加密解密生成祕鑰對檔案加密檔案解密 生成祕鑰對 @staticmethod def create_rsa_keys(code='nooneknows'): # 生成 2048 位的 RSA 金鑰 key

檔案加密解密到RSA加密演算法

1.檔案的加密解密        其實檔案的加密解密我們可以理解成在複製檔案時對檔案中的每一個位元組做一些操作,比如最簡單的就是加上一個常數或一個隨機數,還有取模等,只要把它變成不是原本的模樣就OK了。       以下給出生成隨機數的方式加密:MyKey是一個生成128

springboot配置檔案:application.properties

# 日誌配置 logging.config=${@[email protected]} # WEB應用伺服器配置 # 監聽地址,預設:127.0.0.1 server.address = ${@[email protected]} # 監聽埠,預設:8080 server