亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AWS 請求身份驗證:編碼標頭

AWS 請求身份驗證:編碼標頭

Go
米琪卡哇伊 2021-06-02 14:43:10
我在 Google Go lang 中實現 AWS 請求身份驗證package mainimport "fmt"import "crypto/hmac"import "crypto/sha256"import "time"import "encoding/base64"func main() {  AWSAccessKeyId := "MHAPUBLICKEY"  AWSSecretKeyId := "MHAPRIVATEKEY"  sha256         := sha256.New  time           := time.Now().UTC().Format(time.ANSIC)  hash           := hmac.New(sha256, []byte(AWSSecretKeyId))  hash.Write([]byte(time))  sha            := base64.URLEncoding.EncodeToString(hash.Sum(nil))  fmt.Println("Date", time)  fmt.Println("Content-Type","text/xml; charset=UTF-8")  fmt.Println("AWS3-HTTPS AWSAccessKeyId=" + AWSAccessKeyId + ",Algorithm=HmacSHA256,Signature=" + sha)}我從亞馬遜獲得有效輸出,但僅當“sha”哈希不包含任何 _ 或 -在職的'WFKzWNQlZEyTC9JFGFyqdf8AYj54aBj5btxPIaGTDbM='不工作 HTTP/1.1 403 Forbidden SignatureDoesNotMatch'h-FIs7of_CJ7LusAoQPzSWVt9hlXF_5gCQgedn_85lk='如何對 AWS3-HTTPS 標頭進行編碼,使其在任何一種情況下都能正常工作?以防萬一它是相關的,我目前正在將輸出復制并粘貼到 cURL 中。一旦我讓它可靠地工作,我計劃在 Google Go 中實現請求。
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

我原來需要從 URLEncoding 更改為 StdEncoding

sha = base64.URLEncoding.EncodeToString(hash.Sum(nil))

sha = base64.StdEncoding.EncodeToString(hash.Sum(nil))


查看完整回答
反對 回復 2021-06-07
  • 1 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號