URL参数签名

请求接口: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还要什么意义呢?


月关宝盒
浏览 1101回答 2
2回答

千巷猫影

URL 参数签名的作用是防止中间人修改参数或者截获 url 进行二次请求。因为有签名,所以任何人在中途试图修改 url 的参数,都是无法进行的。又因为加入了时间戳,所以在允许的时间误差范围外,这个 url 就会失效。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript