MyBatis-Plus的数据安全保护

文章目录


一、介绍

  • 对配置文件内容加密,3.3.2开始支持
  • 使用AES加密算法
  • 实现原理:SafetyEncryptProcessor implements EnvironmentPostProcessorSimpleCommandLinePropertySource,只有在命令行的配置源读取到mpw.key才会解密

二、生成密钥

  • 使用mybatis-plus封装的方法
java 复制代码
//16位的AES密钥
String secretKey=AES.generateRandomKey();
  • 或者自己使用AES算法生成密钥

三、加密

java 复制代码
//使用密钥、明文获取加密后的密文
String ciphertext=AES.encrypt("root",secretKey);

四、配置文件内容使用密文

yml 复制代码
spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        # 密文内容需要添加mpw:前缀
        username: mpw:9FAXZu54/X8se+SOnzqBdQ==

五、命令行参数

  1. idea的Program arguments、jar启动的参数添加

  2. 启动命令中添加

    --mpw.key=密钥

  3. 环境变量+启动命令

    //环境变量中添加
    /etc/profile
    export MPW_KEY=密钥
    source /etc/profile

    //启动命令添加
    --mpw.key=${MPW_KEY}

相关推荐
亓才孓6 小时前
【MyBatis Exception】Public Key Retrieval is not allowed
java·数据库·spring boot·mybatis
Hx_Ma1613 小时前
测试题(六)
java·tomcat·mybatis
我是大猴子16 小时前
常见八股caffine
java·开发语言·mybatis
亓才孓17 小时前
【MyBatis Exception】省略动态SQL中的‘‘,会造成Runtime Exception
java·服务器·mybatis
暴力袋鼠哥17 小时前
基于 SpringBoot + Vue3 的社区医院管理系统实战(含 AI 问诊 + 电子病历 PDF 导出
java·spring boot·intellij-idea·mybatis
亓才孓1 天前
[SprintBootException]BindingException: Invalid bound statement (not found)
mybatis
番茄去哪了1 天前
苍穹外卖day05----店铺营业状态设置
java·数据库·ide·redis·git·maven·mybatis
前路不黑暗@1 天前
Java项目:Java脚手架项目的 C 端用户服务(十五)
java·开发语言·spring boot·学习·spring cloud·maven·mybatis
亓才孓2 天前
[Mybatis]Mybatis框架
java·数据库·mybatis
IT枫斗者2 天前
MyBatis批量插入性能优化:从5分钟到3秒的工程化实践
前端·vue.js·mysql·mongodb·性能优化·mybatis