Spring Boot 實現配置檔案加解密原理

2021-10-06 17:43:10 字數 1802 閱讀 6919

spring boot 配置檔案加解密原理就這麼簡單

接上文《失蹤人口回歸,mybatis-plus 3.3.2 發布》[1] ,提供了乙個非常實用的功能 「資料安全保護」 功能,不僅支援資料來源的配置加密,對於 spring boot 全域性的 yml /properties 檔案均可實現敏感資訊加密功能,在一定的程度上控制開發人員流動導致敏感資訊洩露。

// 資料來源敏感資訊加密

spring:

datasource:

url: mpw:qrhvcwf4go**esseb3g+a5okp+uxxr96wcucn2pev6bfaoemz1**ppphddmjqqom

password: mpw:hzy5ilijbwdhhjls1l0j6w==

username: mpw:xb+egsyuyrxw7u7sbjjbpa==

// 資料來源敏感資訊加密

spring:

redis:

password: mpw:hzy5ilijbwdhhjls1l0j6w==

我們翻開 spring boot 官方文件,翻到 4.2.6 章節 spring boot 不提供對加密屬性值的任何內建支援,但是提供修改 spring 環境中包含的值所必需的擴充套件點 environmentpostprocessor 允許在應用程式之前操作環境屬性值

public class safetyencryptprocessor implements environmentpostprocessor 

} //處理加密內容(獲取到原有配置,然後解密放到新的map 裡面(key是原有key))

hashmapmap = new hashmap<>();

for (propertysource> ps : environment.getpropertysources()) }}

}} // 將解密的資料放入環境變數,並處於第一優先順序上 (這裡一定要注意,覆蓋其他配置)

if (!map.isempty())

}}

resources/meta-inf/spring.factories 配置 spi

org.springframework.boot.env.environmentpostprocessor=\

com.baomidou.mybatisplus.autoconfigure.safetyencryptprocessor

mybatis-plus 預設是讀取啟動引數,可以在此處可以根據自己需求修改為更安全的根金鑰儲存。

system.getproperty("mpw.key")
// 此處思路,參考 druid configfilter

Spring Boot讀取配置檔案與配置檔案優先順序

spring boot讀取配置檔案 package com.ivan.config.controller import org.springframework.beans.factory.annotation.autowired import org.springframework.core.env...

Spring Boot 菜鳥教程 28 多配置檔案

src scrolling 0 width 110 height 20 開發過程中可能會有如下需求 開發和部署的配置資訊可能不同,常規的方式就是在配置檔案裡面先寫好開發配置,在部署的時候再去修改這些配置,這樣可能會出現很多問題,比如使用者名稱 密碼忘記了修改或者改錯了等問題。author je哥 e...

SpringBoot之配置檔案YAML檔案簡單介紹

1.基本語法 k 空格 v 表示一對鍵值對,空格必須有 例如 lucy前方要有空格 name lucy以空格縮排控制層級關係,左對齊屬性表示同一級別 person name fangxinde age 28 job 大資料 server port 80802.值的寫法 1 字面量的表示方法 字串預設...