Spring Boot 整合 Jasypt 加解密实战

Posted 多鱼的夏天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 整合 Jasypt 加解密实战相关的知识,希望对你有一定的参考价值。

Jasypt 是一个用于加解密的 Java 库,可以快速集成到 Spring Boot 项目中实现自动解密功能。

本篇文章通过一个数据库密码的加解密场景,详细介绍了 Jasypt 的使用步骤、具体开发过程及代码分析、测试步骤等等,贴出完整的代码并提供下载。

你将会获得以下知识:

  1. Jasypt 使用步骤
  2. Jasypt 完整代码
  3. Jasypt 测试步骤

适合人群:Java 初中级开发。

前言

我所在项目组刚接到一个密码加密需求,具体需求是把配置文件所有明文的密码都换成密文,经分析后选用 Jasypt 来实现加解密。

本篇文章通过一个数据库密码的加解密场景,详细介绍了 Jasypt 的使用步骤、具体开发过程及代码分析、测试步骤等等,贴出完整的代码并提供下载。

具体开发过程及代码分析

代码结构

pom.xml 文件配置

下面配置是工程需要使用的所有 jar 和 maven 打包策略,必须引入 jasypt-spring-boot-starter,代码如下:

	<?xml version="1.0" encoding="UTF-8"?>
	<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
		<modelVersion>4.0.0</modelVersion>
		<parent>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-parent</artifactId>
			<version>2.5.6</version>
			<relativePath/> <!-- lookup parent from repository -->
		</parent>
		<groupId>com.example</groupId>
		<artifactId>demo-jasypt</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<name>demo-jasypt</name>
		<description>Demo project for Spring Boot</description>
		<properties>
			<java.version>1.8</java.version>
		</properties>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter</artifactId>
			</dependency>
	
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-test</artifactId>
				<scope>test</scope>
			</dependency>
	
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-web</artifactId>
			</dependency>
	
			<dependency>
				<groupId>com.github.ulisesbocchio</groupId>
				<artifactId>jasypt-spring-boot-starter</artifactId>
				<version>3.0.2</version>
			</dependency>
	
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-data-jpa</artifactId>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<scope>runtime</scope>
			</dependency>
	
		</dependencies>
	
		<build>
			<plugins>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
				</plugin>
			</plugins>
		</build>
	
	</project>

点击这里阅读全文

以上是关于Spring Boot 整合 Jasypt 加解密实战的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot2.X 配置文件自动解密读取

Spring Boot(XML配置)和Jasypt集成

springboot配置文件数据库账号密码加密

springboot配置文件数据库账号密码加密

Spring Boot - 依赖的初始化顺序

配置文件信息加解密方案(jasypt)