函数

GLibHmacnew

自:2.30

声明 [src]

GHmac*
g_hmac_new (
  GChecksumType digest_type,
  const guchar* key,
  gsize key_len
)

描述 [src]

创建一个新的 GHmac,使用摘要算法 digest_type。如果 digest_type 未知,则返回 NULL。可以使用 GHmac 来计算密钥和任意二进制数据块的 HMAC,使用不同的哈希算法。

GHmac 通过 g_hmac_update() 将二进制数据块传递,直到数据完整;然后可以使用 g_hmac_get_string() 提取摘要,它将以十六进制字符串的形式返回校验和;或者使用 g_hmac_get_digest() 返回原始字节组成的数组。一旦对一个 GHmac 调用了 g_hmac_get_string()g_hmac_get_digest(),则 HMAC 将被关闭,无法再次调用 g_hmac_update()

GLib 2.42 中添加了对 G_CHECKSUM_SHA512 类型摘要的支持。GLib 2.52 中添加了对 G_CHECKSUM_SHA384 的支持。

自:2.30

参数

digest_type

类型: GChecksumType

期望的摘要类型。

key

类型: 一个 guchar 数组

用于 HMAC 的密钥。

数组的长度在 key_len 参数中指定。
数据由函数的调用者拥有。
key_len

类型: gsize

密钥的长度。

返回值

类型: GHmac

新建的 GHmac,或 NULL。使用 g_hmac_unref() 释放它分配的内存。

函数的调用者拥有数据,并负责释放它。
返回值可以为 NULL