Springboot集成jasypt实现配置文件加密

Jasypt它提供了单密钥对称加密和非对称加密两种加密方式。
单密钥对称加密:一个密钥加盐,可以同时用作内容的加密和解密依据;
非对称加密:使用公钥和私钥两个密钥,才可以对内容加密和解密;
我们以单密钥对称加密方式为例简单演示一下
先引入依赖

		<dependency>
			<groupId>com.github.ulisesbocchio</groupId>
			<artifactId>jasypt-spring-boot-starter</artifactId>
			<version>3.0.5</version>
		</dependency>

简单配置流程为配置文件加入秘钥配置项jasypt.encryptor.password(这里演示不使用这种方式,采用启动时-D参数注入,也可以放在配置中心等地方进行读取),并将需要加密的value值替换成预先经过加密的内容ENC(密文)。加密内容格式可以自定义我这里自己配置了格式(light[密文]),配置自定义格式方式如下: 

jasypt:
  encryptor:
    property:
      prefix: "light["
      suffix: "]"

在springboot单元测试的类上加上启动参数 -Djasypt.encryptor.password=qwer1997

import org.jasypt.encryption.StringEncryptor;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class LightElementMybatisApplicationTests {

	@Autowired
	private StringEncryptor stringEncryptor;

	@Test
	void testEncrypt() {
		String encryptStr = stringEncryptor.encrypt("123456");
		System.out.println("加密后的内容:" + encryptStr);
	}

}

运行单元测试获取到加密密文 

替换掉配置文件中的内容 

在springboot启动类上加上启动参数 -Djasypt.encryptor.password=qwer1997,添加方式和测试类一样 ,启动项目没有发生报错,调用查询接口查询一下数据,数据正常返回,说明集成成功。

相关推荐

  1. springboot整合jasypt对yml配置文件密码加密

    2024-02-11 15:20:02       35 阅读
  2. SpringBoot集成etcd,实现实时监听,实现配置中心

    2024-02-11 15:20:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-11 15:20:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-11 15:20:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-11 15:20:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-11 15:20:02       18 阅读

热门阅读

  1. Chapter 8 - 10. Congestion Management in TCP Storage Networks

    2024-02-11 15:20:02       29 阅读
  2. Linux 文件管理精粹:掌握 cp 命令的艺术

    2024-02-11 15:20:02       27 阅读
  3. 我的大数据之路 - 转岗半年的记录

    2024-02-11 15:20:02       34 阅读
  4. 记录下我遇过的问题

    2024-02-11 15:20:02       35 阅读
  5. leetcode 234 回文链表

    2024-02-11 15:20:02       29 阅读
  6. 2024.2.6

    2024.2.6

    2024-02-11 15:20:02      29 阅读
  7. 【Spring和Spring Boot的区别——详细讲解】

    2024-02-11 15:20:02       31 阅读
  8. golang 集成sentry:PostgreSQL

    2024-02-11 15:20:02       26 阅读
  9. Spring Boot动态加载Jar包与动态配置技术探究

    2024-02-11 15:20:02       29 阅读