首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mp数据源加密

mp数据源加密

作者头像
阿超
发布2022-08-16 19:35:13
发布2022-08-16 19:35:13
1K0
举报
文章被收录于专栏:快乐阿超快乐阿超

不宝金玉,而忠信以为宝。——《礼记》

在开发中,我们难免可能会担心数据库账号密码泄露

我们可以使用mybatis-plus自带的数据安全保护进行加密

代码语言:javascript
复制
public static void main(String[] args) throws Throwable {
    // 生成 16 位随机 AES 密钥
    String randomKey = AES.generateRandomKey();
    // 随机密钥加密
    String url = AES.encrypt("jdbc:mysql://localhost:3306/ruben?autoReconnect=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useUnicode=true&characterEncoding=utf-8&useSSL=false&nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true", randomKey);
    String username = AES.encrypt("root", randomKey);
    String password = AES.encrypt("789456", randomKey);
    System.out.println("randomKey:[" + randomKey + " ]");
    System.out.println("url:[ mpw:" + url + " ]");
    System.out.println("username:[ mpw:" + username + " ]");
    System.out.println("password:[ mpw:" + password + " ]");
}

我们执行后

可以看到加密后的url、账号和密码,以及一个randomKey这个随机秘钥

我们把他们代替掉我们本地yml配置中的明文密码

代码语言:javascript
复制
randomKey:[ 2714d208797f4a0c ]
url:[ mpw:5GiethoxEEWPFCVioU2KC8YpgkWJKV73Onbro3IXzMLoO73twkBNSV0fmvCSUof2Ow2LVcRT+kdi29edE7pIq7L6s2+JG3Pcq8OVV5yHxobEGfm6+xUS08Csfw8wvHUW8xZOXtE4+NN5cUbkuH1eb/yJ5y6KHuRbQRZW2bCIWmwK9efBCfnEwE+sDQ3RO/RqONhVGMFfSEBc91byT0DKrTlh5nJ1mMCNa9BdLv4/8fYqssf4I85nJL8pT8i0zwWxhsl52UXjBKf8qpyIaPXUqVYbgi41R57UxW1lxU6jp9Y= ]
username:[ mpw:qRnWebgBej6drI+lt1xxJg== ]
password:[ mpw:/T/MRWnf2hPPqDFOtu+gJg== ]

然后在idea启动配置中指定--mpw.key=8dc26122450e098c

启动程序,发现我们项目启动成功

如果是部署到服务器,则指定成环境变量即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档