为了账号安全,请及时绑定邮箱和手机立即绑定

有没有人遇到过这个问题哈!API参数如何进行摘要签名验证的?

有没有人遇到过这个问题哈!API参数如何进行摘要签名验证的?

茅侃侃 2019-09-25 15:08:16
假设A开发了一系列API,要求调用这些API的调用者对调用参数进行签名,然后A在后台对每个请求的签名进行验证。假设B要调用这些API,首先需要将参数序列化为json,然后对jsonstring进行md5算法运算,得到签名sigA收到B调用api的request,取出参数,记性呢md5运算,然后和sig对比。但是A取出的参数jsonstring需要和B当时得到的一致。可是由于json序列化可能导致json各kv对的顺序变化,这种一致性就难以保证。另一种方法是从request请求中将字节读出来,直接用md5对字节流进行运算处理。不过这样的话,一般这个动作发生在interceptor中,字节读出来后怎么放回去让接下来的Controller读到参数呢?这又是问题。
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

1、一般是根据参数名称的ASCII码表的顺序排序,将排序好的参数名和参数值拼装在一起,然后使用MD5或者HMAC算法来签名sign2、字节读出来后怎么放回去?-->如果是使用springmvc的话,用ContentCachingRequestWrapper就可以
                            
查看完整回答
反对 回复 2019-09-25
  • 2 回答
  • 0 关注
  • 239 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信