C语言实现HMACSHA256加密算法
时间: 2023-12-15 11:53:20 浏览: 45
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/hmac.h>
void hmac_sha256(unsigned char *key, int key_len, unsigned char *data, int data_len, unsigned char *result) {
HMAC_CTX *ctx;
unsigned int result_len;
ctx = HMAC_CTX_new();
HMAC_Init_ex(ctx, key, key_len, EVP_sha256(), NULL);
HMAC_Update(ctx, data, data_len);
HMAC_Final(ctx, result, &result_len);
HMAC_CTX_free(ctx);
}
int main() {
unsigned char key[] = "123456";
unsigned char data[] = "hello world";
unsigned char result[EVP_MAX_MD_SIZE];
hmac_sha256(key, strlen(key), data, strlen(data), result);
int i;
for (i = 0; i < 32; i++) {
printf("%02x", result[i]);
}
printf("\n");
return 0;
}
```