go语言调用阿里云OpenApi的签名加密问题?

jiangyd · · 774 次点击 · 开始浏览   
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
https://help.aliyun.com/document_detail/25492.html?spm=5176.doc25490.2.2.Uwn9UA 我按照url的文档,对StringToSign进行hmac sha1进行加密,然后base64,得到的结果与文档例子的结果不一致 [v2-c7765a6260196517ed843e4f01d9e381_r.png](http://studygolang.qiniudn.com/170504/f396c10be7d70db4cbf999e6d0680f74.png) 我的代码: ``` package main import "fmt" import "crypto/sha1" import "crypto/hmac" import b64 "encoding/base64" func main() { key := []byte("testsecret&") mac := hmac.New(sha1.New, key) mac.Write([]byte("GET&%2F&AccessKeyId%3Dtestid&Action%3DDescribeRegions&Format%3DXML&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&SignatureVersion%3D1.0&TimeStamp%3D2016-02-23T12%253A46%253A24Z&Version%3D2014-05-26")) s := b64.StdEncoding.EncodeToString(mac.Sum(nil)) fmt.Println(s) } ``` 输出的结果:LZ5DVzNj95387UDL70u7+18AwWY= 与官网文档结果不一致,搞了一天了,不知道啥原因!
774 次点击  
加入收藏 微博
4 回复  |  直到 2017-07-31 09:32:54
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传