1 生成秘钥,使用AES工具生成一个随机秘钥,然后对用户名,密码加密
//数据库用户名和密码加密工具测试类
public class MpDemoApplicationTests {
@Test
void contextLoads() {
// 数据库用户名和密码
String dbUsername="改成你的数据库连接用户名";
String dbPassword="改成你的数据库连接密码";
// 生成 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 = 2b8394852e0a6ae9
username = +ABhu260VCp0dF/WhhdSEQ==
password = JSXQRg//4iOQkcT+GVuMFQ==
2 修改yml 文件,这里username和password的信息前面都加上一个mpw:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
username: mpw:+ABhu260VCp0dF/WhhdSEQ==
password: mpw:JSXQRg//4iOQkcT+GVuMFQ==
driver-class-name: com.mysql.cj.jdbc.Driver
3 配置启动参数,将解密秘钥信息填入启动配置里面的Program arguments里面或java -jar方式时
开发时,在idea中添加
--mpw.key=2b8394852e0a6ae9
java -jar方式
java -jar demo_chajian_1-0.0.1-SNAPSHOT.jar --mpw.key=2b8394852e0a6ae9
参考博文
MybatisPlus配置加密数据库用户名密码_mybatis数据库账号密码加密-CSDN博客