1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Go:基于 HTTP Header 傳輸簽名參數

        共 974字,需瀏覽 2分鐘

         ·

        2020-09-02 05:03

        概述

        調用方 向 接口提供方,申請調用 KeySecret,用于生成簽名。

        • Key 為調用方身份標識
        • Secret 為加密鹽值

        加密鹽值可以使用 1Password 在線生成,如下圖。

        簽名參數傳遞

        不建議在 URL 或 FORM 中新增參數,建議使用 HTTP Header 中的兩個參數 Authorization、Date 存儲簽名信息,其中 Authorization 存儲簽名,Date 存儲簽名信息。

        Authorization 參數用來對傳輸的數據進行驗證,防止篡改,由 3 部分組成:

        • Prefix 為前綴,用來識別調用方身份;
        • Space 為空格分隔符;
        • Digest 為摘要,一段加密串,加密方法建議使用 HMAC 算法。

        Date 參數用來驗證請求的時效性。

        參數示例

        Authorization: blog /Rg4zjqqWUpVfLh3uGRwkfEEV5o=Date: Sat, 22 Aug 2020 09:15:41 GMT

        Digest 參考示例

        secret := "U1joiH8yDr8rzj28CMYT"rfc1123Date := time.Now().Format(http.TimeFormat)
        buffer := bytes.NewBuffer(nil)buffer.WriteString("?id=1")buffer.WriteString(rfc1123Date)
        hash := hmac.New(sha1.New, []byte(secret))hash.Write(buffer.Bytes())digest := base64.StdEncoding.EncodeToString(hash.Sum(nil))fmt.Println(digest)




        推薦閱讀



        學習交流 Go 語言,掃碼回復「進群」即可


        站長 polarisxu

        自己的原創(chuàng)文章

        不限于 Go 技術

        職場和創(chuàng)業(yè)經驗


        Go語言中文網

        每天為你

        分享 Go 知識

        Go愛好者值得關注



        瀏覽 55
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            名器丰娆荡伦h | 91大香蕉视频黄色视频 | 一级成人片在线观看 | 自拍偷拍专区 | 免费无遮挡 视频一挑二 | 日韩无码免费 | 久久99综合久久爱伊人 | 亚洲精品一级二级三级 | 成人视频在线观看网站 | 九九热精品 |