全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Go

最近更新时间:2021-08-26 10:19:07

Go签名DEMO如下:

package main
 
import (
    "crypto/hmac"
    "crypto/sha256"
    "encoding/hex"
    "fmt"
    "net/url"
    "strings"
)
//使用时把sign方法拷贝到代码工程内即可
func sign(params url.Values, sk string) string {
    strEncode := params.Encode()
    strEncode = strings.Replace(strEncode, "+", "%20", -1)
    h := hmac.New(sha256.New, []byte(sk))
    h.Write([]byte(strEncode))
    return hex.EncodeToString(h.Sum(nil))
}
 
func main() {
    params := url.Values{}
    params.Add("Accesskey", "AKLTXQVF0pOmS6aahIrD5r0B3Q")
    params.Add("Service", "iam")
    params.Add("Action", "CreateUser")
    params.Add("Version", "2015-11-01")
    params.Add("Timestamp", "2021-08-12T02:47:36Z") //通过time.Now().UTC().Format("2006-01-02T15:04:05Z")实现
    params.Add("SignatureVersion", "1.0")
    params.Add("SignatureMethod", "HMAC-SHA256")
    params.Add("UserName", "Ttest")
    params.Add("RealName", "周四测试")
    params.Add("Email", "[email protected]")
    params.Add("Remark", "~ce shi*%#|+")
 
 
    sk := "OMovU5PTLh6y9E9Ioe3K411jt99VqyQSBXgAcDYlo49R3lvUIzb6e/efZCFDmtFlzw=="
    signature := sign(params, sk)
 
    fmt.Println(signature) // fc9088ab845949dac4040be9b7ce7859068b5c21d4c400fec8ee0cefb777f659
 
}
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈