<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # package hmac `import "crypto/hmac"` hmac包實現了U.S. Federal Information Processing Standards Publication 198規定的HMAC(加密哈希信息認證碼)。 HMAC是使用key標記信息的加密hash。接收者使用相同的key逆運算來認證hash。 出于安全目的,接收者應使用Equal函數比較認證碼: ``` // 如果messageMAC是message的合法HMAC標簽,函數返回真 func CheckMAC(message, messageMAC, key []byte) bool { mac := hmac.New(sha256.New, key) mac.Write(message) expectedMAC := mac.Sum(nil) return hmac.Equal(messageMAC, expectedMAC) } ``` ## Index * [func Equal(mac1, mac2 []byte) bool](#Equal) * [func New(h func() hash.Hash, key []byte) hash.Hash](#New) ## func [Equal](https://github.com/golang/go/blob/master/src/crypto/hmac/hmac.go#L97 "View Source") ``` func Equal(mac1, mac2 []byte) bool ``` 比較兩個MAC是否相同,而不會泄露對比時間信息。(以規避時間側信道攻擊:指通過計算比較時花費的時間的長短來獲取密碼的信息,用于密碼破解) ## func [New](https://github.com/golang/go/blob/master/src/crypto/hmac/hmac.go#L78 "View Source") ``` func New(h func() hash.Hash, key []byte) hash.Hash ``` New函數返回一個采用hash.Hash作為底層hash接口、key作為密鑰的HMAC算法的hash接口。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看