Linux C语言使用hmac_sha1实现对带换行符的字符串进行带key的加密
时间: 2024-03-09 17:47:08 浏览: 77
首先,你需要安装OpenSSL库。在Linux下,可以使用以下命令安装:
```
sudo apt-get install libssl-dev
```
然后,你可以使用以下代码实现对带换行符的字符串进行HMAC-SHA1加密:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/hmac.h>
#define MAXLINE 1024
int main(int argc, char *argv[]) {
char key[MAXLINE] = "your_key";
char message[MAXLINE] = "your_message\n";
unsigned char digest[EVP_MAX_MD_SIZE];
unsigned int digest_len;
HMAC(EVP_sha1(), key, strlen(key), (unsigned char *)message, strlen(message), digest, &digest_len);
// 输出加密后的结果
int i;
for (i = 0; i < digest_len; i++) {
printf("%02x", digest[i]);
}
printf("\n");
return 0;
}
```
其中,`key`为你的密钥,`message`为你要加密的消息,`digest`为加密后的结果。
需要注意的是,`HMAC`函数的第一个参数是加密算法,这里使用的是SHA1算法。如果需要使用其他算法,可以根据OpenSSL提供的API进行修改。
阅读全文