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}

相关推荐
Seven973 小时前
MyBatis 常见面试题
java·mybatis
小马爱打代码21 小时前
MyBatis:入门到实战 - 配置与CRUD
mybatis
老友@1 天前
一次由 PageHelper 分页污染引发的 Bug 排查实录
java·数据库·bug·mybatis·pagehelper·分页污染
YDS8291 天前
苍穹外卖 —— Spring Cache和购物车功能开发
java·spring boot·后端·spring·mybatis
凌波粒2 天前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
ANGLAL2 天前
17.MyBatis动态SQL语法整理
java·sql·mybatis
北城以北88882 天前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis
凌波粒2 天前
MyBatis完整教程IDEA版(3)--动态SQL/MyBatis缓存
sql·intellij-idea·mybatis
小马爱打代码2 天前
MyBatis:进阶 - 动态 SQL、关联查询与缓存
sql·缓存·mybatis
cici158742 天前
MyBatis注解的运用于条件搜索实践
java·tomcat·mybatis