HMAC是密鑰相關的哈希運算消息認證碼,HMAC運算利用哈希算法,以一個密鑰和一個消息為輸入,生成一個消息摘要作為輸出。
主要用于驗證接口簽名~
md5 、hmac、sha1算法的簡單實現:
```go
package main
import (
"crypto/hmac"
"crypto/md5"
"encoding/hex"
"fmt"
)
func main() {
key := "kuteng"
data := "www.5lmh.com"
hmac := hmac.New(md5.New, []byte(key))
hmac.Write([]byte(data))
fmt.Println(hex.EncodeToString(hmac.Sum([]byte(""))))
}
```
輸出結果:
```
679f5d6f7d344dba1e33938ae1d41ab4
```