冷
冷冷
V1
2023/01/04阅读:45主题:嫩青
springboot 请求报文加解密
背景
在一些安全性要求较高的项目中,我们希望客户端请求数据可以做到数据加密,服务器端进行解密。(单纯的 HTTPS 仍难以满足安全需要。)
快速上手
① 添加依赖
<dependency>
<groupId>com.pig4cloud</groupId>
<artifactId>pigx-common-encrypt-api</artifactId>
</dependency>
② 配置加解密密钥
“在对应微服务的nacos 配置文件中进行配置
security:
api:
encrypt:
aes-key: 1234567812345678 # 注意必须为16位
③ 普通 Get 请求

@ApiDecryptAes // 对请求进行解密 请求格式为 对请求进行解密 请求格式为 xx?encryption=base64密文
@ApiEncryptAes // 对接口结果进行加密输出 格式为 {"encryption":"加密后R"}
@GetMapping("/test")
public R test(String param) {
return R.ok();
}
④ 通用 json body 请求

@ApiDecryptAes // 对请求进行解密 请求格式为 {"encryption":"base64密文"}
@ApiEncryptAes // 对接口结果进行加密输出 格式为 {"encryption":"加密后R"}
@PostMapping("/test2")
public R test2(@RequestBody String param) {
return R.ok();
}
PIGX 前端处理
① 配置加密密钥
“注意和上文后端加解密配置保存一致

② axios 请求配置
request({
url: 'xxx',
headers: {
'Enc-Flag': 'true'
},
method: 'get',
params: { xxx }
})
作者介绍
冷
冷冷
V1