请求接口:http://api.test.com/test?name...客户端生成当前时间戳timestamp=now和唯一随机字符串nonce=random按照请求参数名的字母升序排列非空请求参数(包含AccessKey) stringA="AccessKey=access&home=world&name=hello&work=java×tamp=now&nonce=random";拼接密钥SecretKey stringSignTemp="AccessKey=access&home=world&name=hello&work=java×tamp=now&nonce=random&SecretKey=secret";MD5并转换为大写 sign=MD5(stringSignTemp).toUpperCase();最终请求http://api.test.com/test?name...×tamp=now&nonce=nonce&sign=sign;以上是url的参数签名过程,其中拼接secret这一步,这里secret是暴露在前端的,这样的话这个secret还要什么意义呢?
2 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
URL 参数签名的作用是防止中间人修改参数或者截获 url 进行二次请求。
因为有签名,所以任何人在中途试图修改 url 的参数,都是无法进行的。又因为加入了时间戳,所以在允许的时间误差范围外,这个 url 就会失效。
添加回答
举报
0/150
提交
取消