0
点赞
收藏
分享

微信扫一扫

数据安全保护

残北 2022-10-01 阅读 61
  • ​​官方文档​​
  • 加密数据

@RestController
@RequestMapping("/priv")
public class PrivController {

/**
* 加密
* @return
*/
@RequestMapping("/test")
@ResponseBody
public String test(){
String username = "root";
String password = "123456";
String url = "jdbc:mysql://123.456.789:3306/dbtest?characterEncoding=utf-8&useSSL=false";
// 生成 16 位随机 AES 密钥
String randomKey = AES.generateRandomKey();
// 随机密钥加密
String u1 = AES.encrypt(username, randomKey);
String p1 = AES.encrypt(password, randomKey);
String u2 = AES.encrypt(url, randomKey);
return randomKey + "----->" + u1 + "----->" + p1 + "----->" + u2;
}

}

  • 获取加密数据

5293ddac6f8c327f----->1HCzw/UUT+4vUw2cz0eCNg==----->/59gLNkQBhJhNyTUP++S9Q==----->+FEpwLQBHHkHGSaG4QXl17v+vD0ileafcMUgEY0oiRiYEHe6gq+w8NOT32JJgyYzJ+QaqSFQ8GT4LtjlyGFQ46JAWzoHOrHFPiXYOqm8nQQ=

  • 配置yml文件:​​需要以mpw开头​

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: mpw:1HCzw/UUT+4vUw2cz0eCNg==
password: mpw:/59gLNkQBhJhNyTUP++S9Q==
url: mpw:+FEpwLQBHHkHGSaG4QXl17v+vD0ileafcMUgEY0oiRiYEHe6gq+w8NOT32JJgyYzJ+QaqSFQ8GT4LtjlyGFQ46JAWzoHOrHFPiXYOqm8nQQ=

  • 将项目打成jar包后,使用cmd进入jar所在文件夹:​​启动jar包,mpw.key为生成的 16 位随机 AES 密钥​

C:\work\github\mybatis-case-repo\02\demo13\demo01\target>java -jar demo01-0.0.1-SNAPSHOT.jar --mpw.key=5293ddac6f8c327f

. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.6.3)

_ _ |_ _ _|_. ___ _ | _
| | |\/|_)(_| | |_\ |_)||_|_\
/ |
3.4.0

  • 访问接口测试,当控制台出现sql语句,说明配置成功
  • 数据安全保护通常使用在生产环境中
  • 生成的16为随机密钥掌握在少数人手中



举报

相关推荐

0 条评论