http接口加密解密的注解实现工具

实现逻辑

  1. 使用了@ControllerAdvice对请求数据进行预处理
  2. 随机生产16为字符串,使用RSA加密生成key
  3. 再对数据进行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;
}

使用举例

  • controller
     /**
     * 数据加密
     * @param user
     * @return
     */
    @RequestMapping("/encry")
    @SecurityParameter(inDecode = false)
    public Result save(@RequestBody DfqUsers user) {
        System.out.println(JSON.toJSONString(user));
        return Result.success(user);
    }
     /**
     * 数据解密
     * @param user
     * @return
     */
    @RequestMapping(value = "/decrypt",method = {RequestMethod.GET,RequestMethod.POST})
    @SecurityParameter(outEncode = false)
    public Result jiemi(@RequestBody Object user){

        return Result.success(user);
    }
  • postman调用

    • 加密
      加密

    • 解密
      解密

      项目地址

      码云


   转载规则


《http接口加密解密的注解实现工具》 duan 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录