Druid 加密配置
前言
一般来说, 链接数据库的密码是明文存放的, 这样不安全, 任意获取到密码配置的人都可以获取到数据库的连接密码, 导致不安全的产生. druid有密码加密功能, 可以解决这个问题. druid使用rsa加密方式进行密码保护.(并不规范: 在后续问题中会讲)
总结
要配置druid密钥,
a. 配置connectionProperties属性: config.decrypt=true;config.decrypt.key=公钥
b. spring.datasource.password设置用私钥加密后的密码
注意:
- 尽量不要用 druid自带的加密解密方式, 可以在 druid的自定义配置类里面加上自己的解密方法.
- 如果一定要用druid自带的rsa加密解密方式, 请不要用自带的默认公钥/私钥
- 另外druid自带的加密, 可以使用自定义"com.alibaba.druid.util.DruidPasswordCallback", 来实现自己的加密解密实现.
具体步骤
1. 生产密钥
参考资料: 1. druid加密测试类
2. 环境配置
这里主要有1. 依赖配置. 2. 参数配置.
1. 依赖配置:
<?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 http://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.1.4.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot-mybitis-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>spring-boot-mybitis-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<