#include <stdio.h>
#include <openssl/hmac.h>
#include "openssl/evp.h"
void hmacsha256Encode(char *src,char *dst){
const char *key="123456abcdefg";
HMAC_CTX ctx;
HMAC_CTX_init(&ctx);
HMAC_Init_ex(&ctx, key, strlen(key), EVP_sha256(), NULL);
HMAC_Update(&ctx, (unsigned char*)src, strlen(src));
char output[128] = {
0};
unsigned int length = 0;
HMAC_Final(&ctx, (unsigned char*)output, &length);
HMAC_CTX_cleanup(&ctx);
char m[64] = "";
for(int i = 0; i < length; i++) {
//printf("%02x", (unsigned int)output[i]);
char s[10];
sprintf(s,"%02x",(unsigned int)output[i]);
strcat(m,s);
}
strcpy(dst,m);
}
c语言中使用openssl对数据进行hmac_sha256加密
猜你喜欢
转载自blog.csdn.net/c13055215176/article/details/134517359
今日推荐
周排行