mbedtls sha256使用示例
时间: 2024-09-25 12:05:18 浏览: 69
Mbedtls是一种流行的开源安全库,它包含了SHA-256哈希函数等密码学算法。要在Mbedtls中使用SHA-256,首先你需要包含相应的头文件并初始化库。下面是一个简单的使用SHA-256计算消息摘要的C语言示例:
```c
#include "mbedtls/sha256.h"
#include "mbedtls/platform.h"
void hash_sha256(const uint8_t *input_data, size_t input_len, uint8_t output[32])
{
// 初始化sha256实例
mbedtls_sha256_context ctx;
mbedtls_sha256_init(&ctx);
// 计算哈希
mbedtls_sha256_starts(&ctx);
mbedtls_sha256_update(&ctx, input_data, input_len);
mbedtls_sha256_finish(&ctx, output);
// 清理资源
mbedtls_sha256_free(&ctx);
}
int main(void)
{
const uint8_t data[] = "This is an example message for SHA-256 hashing";
size_t data_len = sizeof(data) - 1; // 注意减一,因为数组结尾的'\0'不算长度
uint8_t digest[32]; // 存储哈希结果
hash_sha256(data, data_len, digest);
// 打印或保存哈希值(这里仅显示部分信息)
printf("SHA-256 Hash: ");
for (size_t i = 0; i < 8; i++) {
printf("%02x ", digest[i]);
}
printf("\n");
return 0;
}
```
阅读全文