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.passwordTrue-jasypt.encryptor.algorithmFalsePBEWithMD5AndDESjasypt.encryptor.keyObtentionIterationsFalse1000jasypt.encryptor.poolSizeFalse1jasypt.encryptor.providerNameFalseSunJCEjasypt.encryptor.providerClassNameFalsenulljasypt.encryptor.saltGeneratorClassnameFalseorg.jasypt.salt.RandomSaltGeneratorjasypt.encryptor.ivGeneratorClassnameFalseorg.jasypt.salt.NoOpIVGeneratorjasypt.encryptor.stringOutputTypeFalsebase64jasypt.encryptor.proxyPropertySourcesFalsefalse最新版的 jasypt 还支持非对称加密、自定义加密器等等功能,更多信息:
MORE :https://github.com/ulisesbocchio/jasypt-spring-boot
添加依赖
<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); } }© 著作权归作者所有,转载或内容合作请联系作者
● 拒绝黑盒应用-Spring Boot 应用可视化监控
● 并发Bug之源有三,请睁大眼睛看清它们
● 史上最轻松入门之Spring Batch - 轻量级批处理框架实践
● Spring Cloud Gateway - 快速开始
● APM工具寻找了一圈,发现SkyWalking才是我的真爱
● Spring Boot 注入外部配置到应用内部的静态变量
● 将 HTML 转化为 PDF新姿势
● Java 使用 UnixSocket 调用 Docker API
● Fastjson致命缺陷
● Service Mesh - gRPC 本地联调远程服务
● 使用 Thymeleaf 动态渲染 HTML
原文链接:
本文由博客一文多发平台 OpenWrite 发布!