实现逻辑
- 使用了@ControllerAdvice对请求数据进行预处理
- 随机生产16为字符串,使用RSA加密生成key
- 再对数据进行AES加密,使用步骤2key进行加密
使用方法
依赖
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.gitee.godchin</groupId>
<artifactId>common</artifactId>
<version>v2.0.2.24</version>
</dependency>
设置公钥和私钥
encry.public.key=
decrypt.private.key=
注解介绍
public @interface SecurityParameter {
boolean inDecode() default true;
boolean outEncode() default true;
}
使用举例
@RequestMapping("/encry")
@SecurityParameter(inDecode = false)
public Result save(@RequestBody DfqUsers user) {
System.out.println(JSON.toJSONString(user));
return Result.success(user);
}
@RequestMapping(value = "/decrypt",method = {RequestMethod.GET,RequestMethod.POST})
@SecurityParameter(outEncode = false)
public Result jiemi(@RequestBody Object user){
return Result.success(user);
}
postman调用
加密
解密
项目地址
码云