1.
Step 1. 构造源串
源串是由2部分内容用“&”拼接起来并进行UrlEncode编码:urlencode(api_name&a=x&b=y&...)
(1) 将除“sig”外的所有参数按key进行字典升序排列,将api_name和排序后的参数(key=value)用&拼接起来。
例如:
/api/cos_create_bucket&accessId=9999&acl=0&bucketId=abc&time=1361431471
(2)将上面生成的字符串进行URL编码。
请开发者关注:URL编码注意事项,否则容易导致后面签名不能通过验证。
例如:
%2Fapi%2Fcos_create_bucket%26accessId%3D9999%26acl%3D0%26bucketId%3Dabc%26time%3D1361431471
https://docs.cloud.inspur.com/api/signature.html
为了防止别人重复使用请求参数问题,我们需要保证请求的唯一性,就是对应请求只能使用一次,这样就算别人拿走了请求的完整链接也是无效的。
唯一性的实现:在如上的请求参数中,我们加入时间戳:timestamp(yyyyMMddHHmmss),同样,时间戳作为请求参数之一,也加入sign算法中进行加密。