使用mybatis-plus对配置文件加密

MyBatis-Plus 提供了数据安全保护功能,旨在防止因开发人员流动而导致的敏感信息泄露。从3.3.2版本开始,MyBatis-Plus 支持通过加密配置和数据安全措施来增强数据库的安全性。

YML 配置加密

MyBatis-Plus 允许你使用加密后的字符串来配置数据库连接信息。在 YML 配置文件中,以 mpw: 开头的配置项将被视为加密内容。

spring:
    datasource:
        url: mpw:qRhvCwF4GOqjessEB3G+a5okP+uXXr96wcucn2Pev6Bf1oEMZ1gVpPPhdDmjQqoM
        password: mpw:Hzy5iliJbwDHhjLs1L0j6w==
        username: mpw:Xb+EgsyuYRXw7U7sBJjBpA==

除了可以配置数据库连接配置信息,亲测其他配置也是生效的

密钥加密

使用 AES 算法生成随机密钥,并对敏感数据进行加密。

// 生成16位随机AES密钥

String randomKey = AES.generateRandomKey();

// 使用随机密钥加密数据

String encryptedData = AES.encrypt(data, randomKey);


import com.baomidou.mybatisplus.core.toolkit.AES;

public class Test {
    public static void main(String[] args){
        String data = "as123";
        String randomKey = "d1104d7c3b616f0b";
        // 使用密钥加密数据
        String encryptedData = AES.encrypt(data, randomKey);
        System.out.println(encryptedData);
    }
}

如何使用

在启动应用程序时,通过命令行参数或环境变量传递密钥。

// Jar 启动参数示例(在IDEA中设置Program arguments,或在服务器上设置为启动环境变量)

--mpw.key=d1104d7c3b616f0b

# 启动系统服务
ENTRYPOINT ["java","-jar","app.jar","--mpw.key=d1104d7c3b616f0b"]

官网地址:数据安全保护 | MyBatis-Plus

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Security 是一个开源的安全框架,用于保护基于Spring框架构建的应用程序。MyBatis-Plus 是基于 MyBatis 的增强工具,用于简化 MyBatis 操作和提高开发效率。 将 Spring Security 与 MyBatis-Plus 整合主要包括以下几个步骤: 1. 首先,在 Spring Boot 项目的 pom.xml 文件中添加 Spring Security 和 MyBatis-Plus 的依赖。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>latest version</version> </dependency> ``` 2. 接下来,在项目的配置文件 application.properties 或 application.yml配置数据库连接和 MyBatis-Plus 的相关配置。 3. 创建一个用户实体类和对应的 Mapper 接口,使用 MyBatis-Plus 提供的注解和方法完成数据访问操作。 4. 创建一个自定义的 UserDetailsService 实现类,用于从数据库中获取用户信息,实现 loadUserByUsername 方法。 5. 创建一个自定义的 PasswordEncoder 实现类,用于加密和校验用户密码。 6. 配置 Spring Security,创建一个继承自 WebSecurityConfigurerAdapter 的类,并重写 configure 方法,设置用户认证规则、登录配置和访问控制规则。 7. 在 Spring Boot 启动类上使用 @MapperScan 注解,扫描 Mapper 接口。 通过以上步骤,就可以实现 Spring Security 与 MyBatis-Plus 的整合。在实际应用中,还可以根据具体需求进行一些其他配置和扩展,例如添加角色权限控制、自定义登录页面和处理逻辑等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值