- SpringBoot+MyBatis-Plus
- 配置安全
1.该功能为了保护数据库配置及数据安全,在一定的程度上控制开发人员流动导致敏感信息泄露 2.加密配置 mpw: 开头紧接加密内容( 非数据库配置专用 YML 中其它配置也是可以使用的 ) 3.随机密钥请负责人妥善保管,当然越少人知道越好
- YML加密前
spring: datasource: url: jdbc:mysql://localhost:3306/mybatis-plus username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver
- YML加密
@SpringBootTest class MybatisPlusApplicationTests { @Autowired private UserService userService; @Test void contextLoads() { List<User> userList = userService.list(); userList.forEach(System.out::println); } @Test void testAES() { // 生成 16 位随机 AES 密钥 String randomKey = AES.generateRandomKey(); // 随机密钥加密 String mysql_db = AES.encrypt("jdbc:mysql://localhost:3306/mybatis-plus", randomKey); String mysql_usr = AES.encrypt("root", randomKey); String mysql_pwd = AES.encrypt("123456", randomKey); System.out.println("==============randomKey:"+randomKey); System.out.println("==============randomKey:mysql_db:"+mysql_db); System.out.println("==============randomKey:mysql_usr:"+mysql_usr); System.out.println("==============randomKey:mysql_pwd:"+mysql_pwd); } }
-
YML加密后
spring: datasource: url: mpw:Hl3bIssL4H+pDGEtqr4dz4IWakuzBvDQn1YIDPJk12gMFxuIiEK1HYkJYVlP5a+T username: mpw:BcCeEtp/CeyU3wjKSHq0LQ== password: mpw:IY+7ghV0lkCr2XrFYdcp3w== driver-class-name: com.mysql.cj.jdbc.Driver 注意:秘钥f5c73d3004f96f6a由负责人妥善保管,秘钥可解密-->AES.decrypt("xxxx", "秘钥")
- 启动参数
1.IDEA启动需要添加程序实参:--mpw.key=f5c73d3004f96f6a 2.JAR/WAR包启动命令:java -jar mybatis-plus-0.0.1-SNAPSHOT.war --mpw.key=f5c73d3004f96f6a