▶ 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 不能明文显示,则可以使用 jasyptPBEWithMD5AndDES 算法加密算法进行如下配置:

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 还支持非对称加密、自定义加密器等等功能,更多信息:

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);
} }

▶ Github Demo URL

© 著作权归作者所有,转载或内容合作请联系作者

拒绝黑盒应用-Spring Boot 应用可视化监控

并发Bug之源有三,请睁大眼睛看清它们

史上最轻松入门之Spring Batch - 轻量级批处理框架实践

Spring Cloud Gateway - 快速开始

APM工具寻找了一圈,发现SkyWalking才是我的真爱

Spring Boot 注入外部配置到应用内部的静态变量

将 HTML 转化为 PDF新姿势

Java 使用 UnixSocket 调用 Docker API

Fastjson致命缺陷

Service Mesh - gRPC 本地联调远程服务

使用 Thymeleaf 动态渲染 HTML

原文链接:https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247486183&idx=2&sn=1775e7b90b34738552201679e0860879&chksm=fb3f131ccc489a0a294d6f415922e436cb06c263680c62d7e55fa26e54b482e853abbd0756c3&token=1168253104&lang=zh_CN#rd

本文由博客一文多发平台 OpenWrite 发布!

最新文章

  1. php通过判断来源主机头进行防盗链
  2. window.frameElement的使用
  3. Learn GIT
  4. 深入浅出设计模式——简单工厂模式(Simple Factory)
  5. hdu 1284完全背包
  6. (转)SQL server 容易让人误解的问题之 聚集表的物理顺序问题
  7. 51nod1495 中国好区间
  8. Java数据结构之线性表
  9. LVM的添加与删除
  10. 【原创】javascript——prototype与__proto__
  11. git设置过滤忽略的文件或文件夹
  12. Connecting Docker for Cloud Services using SDN and Network Virtualization
  13. 关于R语言的一些编程经验
  14. noip普及组2005 陶陶摘苹果
  15. linux系统常见压缩命令
  16. windows应用程序框架及实例
  17. [视频]K8飞刀 解密菜刀后门教程
  18. echarts饼图不显示数据为0的数据
  19. win7 数据源只有 SQL SERVER, WIN7 64bit 环境使用 access 作为 CIS的数据源
  20. ClientAbortException: java.net.SocketException: 断开的管道

热门文章

  1. 程序员接触新语言————hello world ^-^,web3种样式表
  2. JS中3种风格的For循环有什么异同?
  3. Emacs 笔记二
  4. 4款黑科技级别的宝藏APP,能够轻松满足你的多种需求,请低调收藏
  5. 重学JavaScript之面向对象的程序设计(继承)
  6. android实现emoji输入
  7. 2017春季_京东_Java后端研发岗面经
  8. git基本命令整合
  9. Flask基础(07)--&gt;正则自定义转换器
  10. 从React-Native坑中爬出,我记下了这些