数据源加密
数据源加密,是针对 url、username、password 三个属性加密
依赖引入
xml
<dependency>
<groupId>com.github.itdachen</groupId>
<artifactId>datasource-spring-boot-starter</artifactId>
<version>[最新版本]</version>
</dependency>数据库加密类型
| 类型 | 描述 | 是否默认配置 |
|---|---|---|
| NOOP | 不加密 | 是 |
| AES | AES 对称加密 | 否 |
加密配置
yaml
fly:
# 数据库加密配置
datasource:
encoder: AES
secretKey: #Fly!SAGA2020*&@- fly.datasource.encoder:数据源加密类型
- fly.datasource.secretKey:数据源加密秘钥
属性加密
java
@SpringBootTest
public class DataSourceTests {
/** 数据源加密接口 */
@Autowired
private IDataSourceEncrypt dataSourceEncrypt;
@Test
void dataSourceTests() {
String url = "jdbc:mysql://127.0.0.1:3306/fly_next_admin?useUnicode=true&characterEncoding=UTF8&createDatabaseIfNotExist=true&useUnicode=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true";
String username = "root";
String password = "root";
System.err.println("url: " + dataSourceEncrypt.encrypt(url));
System.err.println("username: " + dataSourceEncrypt.encrypt(username));
System.err.println("password: " + dataSourceEncrypt.encrypt(password));
}
}加密之后配置
yaml
spring:
datasource:
name: mysql
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: cLKf3B49x6XCyx1nIaSvTaYIC8GCP+r7sXbSh1ax9RqnYvwZowYYO93pnZitVARo
username: ERLOzzJWGQhsJih+ZBQu3g==
password: ERLOzzJWGQhsJih+ZBQu3g==
剑鸣秋朔