Signature = base64(hmac-sha1(VERB + "\n"
+ CONTENT-MD5 + "\n"
+ CONTENT-TYPE + "\n"
+ DATE + "\n"
+ CanonicalizedOSSHeaders
+ CanonicalizedResource))
CONTENT-MD5表示请求内容数据的MD5值 CONTENT-TYPE表示请求内容的类型 DATE表示此次操作的时间,且必须为HTTP1.1中支持的GMT格式 CanonicalizedOSSHeaders表示 http中的object meta组合 CanonicalizedResource 表示用户想要访问的OSS资源
这是它的文档
这个是api里的方法 我用nodejs该怎么做呢
1:
看了snoopy文章解决了 文章地址enter link description here
假设应用密钥为“appSecret”,签名参数列表“foo=1,bar=2,baz=3”,拼接排序后为“bar=2&baz=3&foo=1”,那么,sign的值为BASE64(HMAC-SHA1(“bar=2&baz=3&foo=1”,“appSecret”))。—nodejs里面怎么实现HMAC-SHA1啊?var sign=crypto.createHmac(‘sha1’, app_secret).update(args).digest(“base64”);用这样也不行呢,不知道你是怎么解决的?求回复
解决了,crypto.createHmac(‘sha1’, app_secret).update(args).digest().toString(‘base64’); 这样的加密就是hmac-sha1的。之前是因为要加密的参数忘记排序的了。