Jef*_*tin 10
HMAC和SHA256是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);
}
Run Code Online (Sandbox Code Playgroud)
即使您的输入是字符串,结果也是一个任意的字节数组; 如果它也需要是一个字符串,那么你将不得不应用其他一些转换,如十六进制扩展,Base64或任何适合你的应用程序.