函数
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 。 |