Spring Boot 配置 - 配置信息加密
2024-09-01 11:26:55
▶ Spring Boot 依赖与配置
Maven 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
▶ 使用说明
假设有配置项 com.anoyi.custom.name=anoyi
不能明文显示,则可以使用 jasypt
的 PBEWithMD5AndDES
算法加密算法进行如下配置:
com.anoyi.custom.name=ENC(TqrnYZn55aFVwnSo2TrbFA==)
jasypt.encryptor.password=anoyi
jasypt.encryptor.password
为自定义值,用此密码加密的明文,需要用此密码解密密文ENC(...)
为jasypt
提供的加密标识,Spring Boot 服务启动时,加载各种 properties 时会依据此标识判断是否解密赋值,可自定义TqrnYZn55aFVwnSo2TrbFA==
为明文字符串anoyi
通过密码anoyi
加密后得到的值,此值不唯一,即同一明文通过同一密码加密会得到不同的值
▶ 配置说明
基于 Password 的加密配置
参数 | 必填 | 默认值 |
---|---|---|
jasypt.encryptor.password | True | - |
jasypt.encryptor.algorithm | False | PBEWithMD5AndDES |
jasypt.encryptor.keyObtentionIterations | False | 1000 |
jasypt.encryptor.poolSize | False | 1 |
jasypt.encryptor.providerName | False | SunJCE |
jasypt.encryptor.providerClassName | False | null |
jasypt.encryptor.saltGeneratorClassname | False | org.jasypt.salt.RandomSaltGenerator |
jasypt.encryptor.ivGeneratorClassname | False | org.jasypt.salt.NoOpIVGenerator |
jasypt.encryptor.stringOutputType | False | base64 |
jasypt.encryptor.proxyPropertySources | False | false |
最新版的 jasypt
还支持非对称加密、自定义加密器等等功能,更多信息:
▶ 配置参数加解密
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
示例加解密字符串 anoyi
@RunWith(SpringRunner.class)
@SpringBootTest
public class EncryptTest {
@Autowired
private StringEncryptor jasyptStringEncryptor;
@Test
public void encrypt() {
String encryptStr = jasyptStringEncryptor.encrypt("anoyi");
System.out.println(encryptStr);
}
@Test
public void decrypt() {
String encryptStr = jasyptStringEncryptor.decrypt("TqrnYZn55aFVwnSo2TrbFA==");
System.out.println(encryptStr);
}
}
▶ Github Demo URL
© 著作权归作者所有,转载或内容合作请联系作者
● 史上最轻松入门之Spring Batch - 轻量级批处理框架实践
● APM工具寻找了一圈,发现SkyWalking才是我的真爱
● Spring Boot 注入外部配置到应用内部的静态变量
● Java 使用 UnixSocket 调用 Docker API
● Service Mesh - gRPC 本地联调远程服务
本文由博客一文多发平台 OpenWrite 发布!
最新文章
- php通过判断来源主机头进行防盗链
- window.frameElement的使用
- Learn GIT
- 深入浅出设计模式——简单工厂模式(Simple Factory)
- hdu 1284完全背包
- (转)SQL server 容易让人误解的问题之 聚集表的物理顺序问题
- 51nod1495 中国好区间
- Java数据结构之线性表
- LVM的添加与删除
- 【原创】javascript——prototype与__proto__
- git设置过滤忽略的文件或文件夹
- Connecting Docker for Cloud Services using SDN and Network Virtualization
- 关于R语言的一些编程经验
- noip普及组2005 陶陶摘苹果
- linux系统常见压缩命令
- windows应用程序框架及实例
- [视频]K8飞刀 解密菜刀后门教程
- echarts饼图不显示数据为0的数据
- win7 数据源只有 SQL SERVER, WIN7 64bit 环境使用 access 作为 CIS的数据源
- ClientAbortException: java.net.SocketException: 断开的管道