CNode

求帮助!~ 在使用阿里云的oss 在认证时signature该怎么用nodejs生成?

Llaoshe发布于13 年前最后回复13 年前4 回复12364 浏览0 收藏
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资源

这是它的文档

查看回复

回复 (4)

L
laoshe#1·13 年前

这个是api里的方法 我用nodejs该怎么做呢

1: 这个是api里的方法  我用nodejs该怎么做呢

L
laoshe#2·13 年前

看了snoopy文章解决了 文章地址enter link description here

W
whw1988#3·13 年前

解决了,crypto.createHmac('sha1', app_secret).update(args).digest().toString('base64'); 这样的加密就是hmac-sha1的。之前是因为要加密的参数忘记排序的了。

W
whw1988#4·13 年前

假设应用密钥为“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");用这样也不行呢,不知道你是怎么解决的?求回复

参与回复
登录后即可参与回复。登录