📄 encrypt-api 接口加解密使用
内部资料,请刷新扫码登录
pigcloud
# 背景
在一些安全性要求较高的项目中,我们希望客户端请求数据可以做到数据加密,服务器端进行解密。(单纯的 HTTPS 仍难以满足安全需要。)
# 快速上手
# ① 添加依赖
<dependency>
<groupId>com.pig4cloud</groupId>
<artifactId>pigx-common-encrypt-api</artifactId>
</dependency>
# ② 配置加解密密钥
在对应微服务的 nacos 配置文件中进行配置
security:
api:
encrypt:
aes-key: 1234567812345678 # 注意必须为16位
# ③ 普通 Get 请求
// @ApiDecryptAes("对应参数名称")
@RequestMapping("/hello")
public String hello(@ApiDecryptAes("username") String username, @ApiDecryptAes("password") String password) {
return "hello";
}
前端请求地址:/hello?encryption=XJ4vYg==
# ④ 通用 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 },
});