需求
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 {
}