一. 背景
当我们将项目部署到服务器上时,一般会在jar包的同级目录下加上application.yml配置文件,这样可以在不重新换包的情况下修改配置。
一般会将数据库连接、Redis连接等放到配置文件中。
例如配置数据库连接:
spring:
servlet:
multipart:
max-file-size: 10MB # 文件大小限制
max-request-size: 100MB # 请求大小限制
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
这种方式存在安全隐患,如果配置文件泄露,就会造成数据库密码泄露。
所以需要将配置文件中数据库密码等敏感数据加密,然后在使用的时候解密后再使用。
推荐使用第三种方式。
二. 方法介绍
本文介绍三种方式。
1. 解密方法嵌入到业务逻辑代码中
例如我可以在service或者正常的业务代码中去加密后再使用。
但是这种和业务耦合度高,不推荐。
2. 使用jasypt
2.1 第一步:pom引入依赖
<dependency>
&