引入:MybatisPlus支持配置文件的加密和解密功能
一、生成秘钥
随便写一个工具测试类,使用AES工具生成一个随机秘钥,然后对用户名、密码加密:
//数据库用户名和密码加密工具测试类
public class MpDemoApplicationTests {
@Test
void contextLoads() {
// 数据库用户名和密码
String dbUsername="set your mysql username";
String dbPassword="set your mysql password";
// 生成 16 位随机 AES 密钥
String randomKey = AES.generateRandomKey();
System.out.println("randomKey = " + randomKey);
// 利用密钥对用户名加密
String username = AES.encrypt(dbUsername, randomKey);
System.out.println("username = " + username);
// 利用密钥对用户名加密
String password = AES.encrypt(dbPassword, randomKey);
System.out.println("password = " + password);
}
}
生成密钥如下:
randomKey = 38af4493648d4ff4
username = gjZn7PeMHMNqr/5PC/rH/Q==
password = oIDqNBbV7+nuiKJRz8Ny8w==
二、修改配置
在里的配置文件里面修改数据库配置,将配置里面数据库配置信息换成自己生成的的密钥信息。
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
host: localhost
port: 3306
database: XXX #数据库名称
username: mpw:gjZn7PeMHMNqr/5PC/rH/Q== # 密文要以 mpw:开头
password: mpw:oIDqNBbV7+nuiKJRz8Ny8w== # 密文要以 mpw:开头
这里username和password的信息前面都加上一个mpw:
三、配置启动参数
在上面可以拿到randomKey来配置配置参数,配置参数如下:
--mpw.key=38af4493648d4ff4
将上述配置信息填入启动配置里面的Program arguments里面,步骤如下:
如果没有Program arguments,可以通过下述操作将Program arguments显示出来如何配置
最后,保存参数信息,运行项目即可。
四、测试
将配置信息修改成加密密钥也能实现操作数据库实现接口操作。
注意:记得上面的信息用自己生成的密钥!!!