Jasypt 是一个用于加解密的 Java 库,可以快速集成到 Spring Boot 项目中实现自动解密功能。
本篇文章通过一个数据库密码的加解密场景,详细介绍了 Jasypt 的使用步骤、具体开发过程及代码分析、测试步骤等等,贴出完整的代码并提供下载。
你将会获得以下知识:
- Jasypt 使用步骤
- Jasypt 完整代码
- 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>