sha256算法c语言实现
时间: 2024-05-17 14:10:45 浏览: 166
Debug_c_sha-1_
SHA-256是一种安全哈希算法,用于将任意长度的消息压缩成长度为256位的消息摘要。在C语言中实现SHA-256算法,可以使用一些现成的库,比如OpenSSL或者Crypto++等。以下是一个基于OpenSSL库实现SHA-256算法的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/sha.h>
int main() {
char message[] = "Hello, world!";
unsigned char digest[SHA256_DIGEST_LENGTH];
SHA256_CTX ctx;
SHA256_Init(&ctx);
SHA256_Update(&ctx, message, strlen(message));
SHA256_Final(digest, &ctx);
for(int i = 0; i < SHA256_DIGEST_LENGTH; i++) {
printf("%02x", digest[i]);
}
printf("\n");
return 0;
}
```
该代码使用了OpenSSL库中的SHA256函数,首先初始化一个SHA256上下文,然后将待处理消息更新到上下文中,最后通过SHA256_Final函数获取摘要值。摘要值以16进制形式输出。
阅读全文