xinliangnote/Go

第二章 路由设置 签名部分有个疑问

ZYiDa opened this issue · 2 comments

按照我的理解:

  • 要先调用一下/sn接口,获取sn和ts信息
  • 然后在使用v2接口时,将这两个字段带过去进行对比验证。

我复制了你的代码来运行,一直卡在sn验证那里。

然后仔细看了看/sn接口和签名发现了问题:

  • 签名由MD5(MD5(参数字符串)+MD5(config配置信息))组成,但调用/sn接口生成sn时,在SignDemo方法中,签名的参数字符串是空或者默认值,这样就会导致,请求中参数中的sn和比对时的sn不一致
  • 将签名方法由MD5(MD5(参数字符串)+MD5(config配置信息))改成MD5(config配置信息)的形式,就能验证通过了

小白第一次接触后台开发,不知道我这样理解和修改是否正确?谢谢了

我觉得也是有点问题的,首先请求/sn接口拿到签名,之后走/v2时候携带签名,但是原create签名考param拼接的str生成,也就createSign根据每次的req携带的param不同,产生不同的签名。这或许是单体小demo没有更细思考导致的