Spring Boot 配置文件加密

方式一:Spring Cloud Config

一、建立config server

1. build.gradle 文件中添加:

yaml 复制代码
plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.0'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

ext {
	set('springCloudVersion', "2021.0.8")
}

dependencies {
	implementation 'org.springframework.cloud:spring-cloud-config-server'
	// 不加该依赖无法调用 /encrypt 和 /decrypt 接口:
	implementation 'org.springframework.cloud:spring-cloud-starter-config'
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
	}
}

2. application.yaml 文件中添加:

  • 存放配置文件的git仓库。可以是git remote repo,也可以是local repo(file://...)
yaml 复制代码
spring:
  cloud:
    config:
      server:
        git:
          uri: https://gitlab.some.domain/somerepo.git
  • 加解密的密钥
yaml 复制代码
encrypt:
  key: key_instance

3. Application 启动类添加 @EnableConfigServer 注解:

(不加该注解也可实现加解密功能)

java 复制代码
@EnableConfigServer
@SpringBootApplication
public class DemoApplication {
	...
}

二、获得加密后的密文

获得加密后的密文:

bash 复制代码
$ curl http://localhost:8080/encrypt -d id111
7b04915ff83caae96116140fe180be4b9a217fbdaf4c3d38263c2479819d5202

获得解密后的明文:

bash 复制代码
$ curl http://localhost:8080/decrypt -d 7b04915ff83caae96116140fe180be4b9a217fbdaf4c3d38263c2479819d5202
id111

三、将加密后的密文添加进配置文件

application.yaml 文件中添加:

  • 加密后的密文

    yaml 复制代码
    id: '{cipher}7b04915ff83caae96116140fe180be4b9a217fbdaf4c3d38263c2479819d5202'

启动后项目中的id属性会自动解密为"id111"。

Spring Cloud Config 配置的加密解密
分布式配置中心Spring Cloud Config初窥
Spring Cloud Config

SpringCloud与SpringBoot的版本适配

建立 config client:

Spring Cloud Config(统一配置中心服务端和客户端)

方式二:jasypt

【开发经验】springboot配置文件加密详解
SpringBoot 配置文件这样加密,才足够安全!

相关推荐
MZA66613 分钟前
Spring Boot 实战:基于自定义注解 + AOP 实现 Kafka 消息无侵入异步上送
java·spring boot·kafka
wno70418 分钟前
Spring Cloud Hystrix Dashboard仪表盘
spring·spring cloud·hystrix
wxwx_bscxy3221 小时前
springboot巡更系统10192
java·spring boot·后端·巡更系统
爱折腾的编程老炮2 小时前
潮玩小程序订单模型-一张表装下所有玩法
spring boot·小程序·uni-app
BS30813_vx2 小时前
31754+基于 Spring Boot + Vue 的网络文学交流分享平台设计与实现
vue.js·spring boot·后端
摇滚侠3 小时前
《Spring Boot 3:高级与架构设计》第 2 章 IOC容器的高级机制 Environment 阅读笔记 4
spring boot·笔记·后端
豆角焖肉3 小时前
Spring Boot配置文件与自动配置原理深度剖析
spring boot·配置文件·自动配置原理·yaml·conditional
豆角焖肉3 小时前
Spring Boot入门实战:从零搭建第一个应用
java·spring boot·后端·自动配置
BUG指挥官3 小时前
Redis已接入AI
数据库·人工智能·spring boot·redis·spring cloud
m0_5873830014 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析