Golang crypto.hmac 包详解
crypto/hmac
包提供了用于计算HMAC(散列消息认证码)的功能。HMAC是一种使用密钥的散列函数的验证方法。
以下是使用crypto/hmac
包的一个简单示例:
package main
import (
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"fmt"
)
func main() {
// 消息
message := "Hello, world!"
// 密钥
key := "my-secret-key"
// 创建一个新的HMAC,使用SHA-256散列函数
h := hmac.New(sha256.New, []byte(key))
// 写入消息
h.Write([]byte(message))
// 获取HMAC
hmac := h.Sum(nil)
// 将HMAC转换为十六进制字符串
hexString := hex.EncodeToString(hmac)
fmt.Println("HMAC:", hexString)
}
这段代码首先导入了crypto/hmac
和crypto/sha256
包,然后定义了一个函数main
,在其中使用了hmac.New
函数创建了一个新的HMAC对象,并指定了使用SHA-256散列算法。接着,使用h.Write
方法将消息数据写入HMAC对象,并最终通过h.Sum(nil)
获取HMAC值,然后将其转换为十六进制字符串以便输出。
评论已关闭