第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

簽名 Coinbase 請求時簽名無效,為什么?

簽名 Coinbase 請求時簽名無效,為什么?

Go
紫衣仙女 2022-08-24 19:01:44
根據(jù)Coinbase pro API文檔:CB-ACCESS-SIGN 標頭是通過使用預(yù)哈希字符串時間戳 + 方法 + requestPath + 正文(其中 + 表示字符串串聯(lián))上的 base64 解碼密鑰創(chuàng)建 sha256 HMAC 并對輸出進行 base64 編碼而生成的。時間戳值與 CB-ACCESS-TIMESTAMP 標頭相同。正文是請求正文字符串,如果沒有請求正文,則省略(通常用于 GET 請求)。該方法應(yīng)為大寫。我從一個更好的程序員那里借用了一個簽名函數(shù),并給它提供如下內(nèi)容:1619383731POST/reports{{"end_date":"2021-01-02T11:59:59Z","start_date":"2020-01-01T00:00:00Z","type":"account"}}但是繼續(xù)從Coinbase獲得無效的簽名。簽名功能供參考:// signfunc (e *exchange) sign(msg string) string {    key, err := base64.StdEncoding.DecodeString(e.http.secret)    if e.checkErr(err) {        return "bad_sig"    }    signature := hmac.New(sha256.New, key)    _, err = signature.Write([]byte(msg))    if e.checkErr(err) {        return "bad_sig"    }    return base64.StdEncoding.EncodeToString(signature.Sum(nil))}我在哪里搞砸了?
查看完整描述

2 回答

?
LEATH

TA貢獻1936條經(jīng)驗 獲得超7個贊

你有沒有檢查過go-coinbase github存儲庫,實現(xiàn)這個:https://github.com/preichenberger/go-coinbasepro/blob/master/client.go


h := make(map[string]string)

    h["CB-ACCESS-KEY"] = c.Key

    h["CB-ACCESS-PASSPHRASE"] = c.Passphrase

    h["CB-ACCESS-TIMESTAMP"] = timestamp


    message := fmt.Sprintf(

        "%s%s%s%s",

        timestamp,

        method,

        url,

        data,

    )


    sig, err := generateSig(message, c.Secret)

    if err != nil {

        return nil, err

    }

    h["CB-ACCESS-SIGN"] = sig

    return h, nil


查看完整回答
反對 回復 2022-08-24
?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

事實證明,直接使用是罪魁禍首。為什么我不知道,我需要找出一些東西,但是讀一個,然后投射到一個字符串中,可以解決其中的一部分。req.Body[]byte



查看完整回答
反對 回復 2022-08-24
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號