在HMAC SHA256中编码字符串[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在HMAC SHA256中编码字符串[关闭]相关的知识,希望对你有一定的参考价值。

如何使用HMAC SHA256算法对字符串进行编码?我通过OpenSSL库但没有找到任何有价值的东西。你的建议?

答案

HMACSHA256是OpenSSL中的独立组件,您需要自己将它们粘合在一起。 (请注意,这使用简写方法一次性使用单片缓冲区执行所有操作;增量处理更复杂。)

#include <openssl/evp.h>
#include <openssl/hmac.h>

unsigned char* hmac_sha256(const void *key, int keylen,
                           const unsigned char *data, int datalen,
                           unsigned char *result, unsigned int* resultlen)
{
    return HMAC(EVP_sha256(), key, keylen, data, datalen, result, resultlen);
}

即使您的输入是字符串,结果也是一个任意的字节数组;如果它也需要是一个字符串,那么你将不得不应用其他一些转换,如十六进制扩展,Base64或任何适合你的应用程序。

以上是关于在HMAC SHA256中编码字符串[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

[Python中具有SHA256的base64 HMAC

如何在 python 代码中使用 SHA256-HMAC?

如何在 python 代码中使用 SHA256-HMAC?

hmac-sha256 2021-11-02

在 Ruby 中使用 HMAC SHA256

网络安全——Base64编码MD5SHA1-SHA512HMAC(SHA1-SHA512)哈希