SHA算法c语言
时间: 2023-07-26 15:12:23 浏览: 279
SHA算法是一种常见的散列函数算法,可以用于数据加密和校验等方面。在C语言中,可以使用OpenSSL库中的SHA函数来实现SHA算法功能。下面是一个使用SHA-256算法计算字符串哈希值的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/sha.h>
int main()
{
char str[] = "hello, world";
unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256(str, strlen(str), hash);
printf("String: %s\n", str);
printf("Hash: ");
for(int i = 0; i < SHA256_DIGEST_LENGTH; i++) {
printf("%02x", hash[i]);
}
printf("\n");
return 0;
}
```
在上面的示例代码中,我们首先定义了一个字符串和一个用于存储哈希值的缓冲区。然后,使用SHA256函数计算字符串的哈希值,并将结果存储在缓冲区中。最后,使用循环遍历缓冲区中的每个字节,并以十六进制的形式打印出来。
需要注意的是,在使用SHA算法时,需要包含OpenSSL库的头文件,并链接对应的库文件。具体的编译命令可以参考OpenSSL库的文档或者使用Makefile自动化构建工具来实现。
阅读全文