需求
sha256(秘钥+timestamp+nonce+排序后的所有参数组合)=signature 来验签
要求传入参数有序,按照字段升序排序,采用requestBody的方式来传参。
步骤
- 获取
header参数 - 获取所有
body参数 - 将
body参数转到map - 用
treeMap来排序,并返回treeMap treeMap按顺序获取value,组装sha256签名校验- 成功:
((ProceedingJoinPoint) joinPoint).proceed(); - 失败:返回错误
code
代码
/**
* 参数校验
*
* @author: lpy
* @Date: 2023/06/26
*/
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ParamCheck {
}
