gpt4 book ai didi

c - 使用 HMAC() 函数后释放内存吗?

转载 作者:行者123 更新时间:2023-11-30 19:08:30 26 4
gpt4 key购买 nike

我有以下功能:

static int my_hmac(unsigned char *data, int len, char *password, unsigned char *hmac)
{
unsigned char* digest;

digest = HMAC(EVP_sha1(), password, strlen(password), data, len, NULL, NULL);
memcpy(hmac, digest, 20);
return 0;
}

我在main()中以这种方式调用它

unsigned char buffer[20]
my_hmac(str, strlen(str), "password", buffer)

使用 HMAC() 函数后我应该调用 libcrypto/libopenssl 的一些空闲内存 api 吗?

最佳答案

既然您标记了您的帖子 openssl,我就假设您正在使用它。

根据documentation ,由于您将 NULL 作为 md (倒数第二个参数)的参数传递,因此结果被放置在静态数组中,因此您无需担心那里的释放。

关于返回值,

HMAC() returns a pointer to the message authentication code or NULL if an error occurred.

此消息验证码不是您拥有的内存,因此您不应尝试释放它。

关于c - 使用 HMAC() 函数后释放内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45085677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com