jasypt是springboot项目中对properties进行加密的,该加密是双向的且可以配置秘钥。
可以加密的数据为
system property
environment property
command line argument
application.properties
yaml properties
other custom property sources
我们配置文件中经常出现许多敏感信息,比如数据库账号密码,版本控制账号密码等。
SpringBoot中使用jasypt来保护我们的明文敏感信息
引入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
github官网有三种使用方式,这里只简单介绍一下开启自动配置的方式(非常简单)。
只要我们开启了自动配置注解(@SpringBootApplication @EnableAutoConfiguration),只要我们的项目中引入了jasypt依赖,那么spring会自动 为我们配置它,我们直接使用就可以。
配置秘钥
jasypt:
encryptor:
password: 你的秘钥
设置秘钥后,jasypt会根据你设置的秘钥,然后根据一定的算法对你要加密或解密数据进行加解密。
在使用的时候我们要使用ENC限定符字眼,他告诉jasypt需要解析他。

类似这样,那么我们程序在启动的时候会自动解析出明文。比如我们加密的数据库账号密码,如果我们直接拿密文肯定是连不上我们的数据库的,但是jasypt在启动的时候自动为我们做了解密工作,实际上我们还是拿着解密后的明文来访问数据库的。