用C++写一个哈希加密的实例
时间: 2023-03-03 10:43:01 浏览: 148
好的,以下是一个使用 C 语言实现哈希加密的简单示例:
#include <stdio.h>
#include <string.h>
#include <openssl/evp.h>
int main(int argc, char* argv[]) {
// 定义输入的明文和输出的密文
char* plaintext = "hello, world!";
unsigned char ciphertext[EVP_MAX_MD_SIZE];
unsigned int ciphertext_len;
// 初始化哈希上下文
EVP_MD_CTX* ctx = EVP_MD_CTX_new();
EVP_DigestInit_ex(ctx, EVP_sha256(), NULL);
// 添加数据并计算哈希值
EVP_DigestUpdate(ctx, plaintext, strlen(plaintext));
EVP_DigestFinal_ex(ctx, ciphertext, &ciphertext_len);
// 打印输出的密文
for (unsigned int i = 0; i < ciphertext_len; i++) {
printf("%02x", ciphertext[i]);
}
printf("\n");
// 释放哈希上下文
EVP_MD_CTX_free(ctx);
return 0;
}
在这个示例中,我们使用 OpenSSL 库的 EVP_sha256() 函数来计算哈希值。EVP_DigestUpdate() 函数用于将数据添加到哈希上下文中,而 EVP_DigestFinal_ex() 函数用于完成哈希计算并将结果存储在 ciphertext 数组中。最后,我们使用循环来打印出输出的密文。
希望这个示例对你有帮助。
阅读全文