目录
使用 openssl api 用aes算法 对密码加密和解密
计算文件md5值
要使用 OpenSSL API 计算文件的 MD5 值,您可以使用 OpenSSL 提供的一组函数。以下是一个简单的示例,演示如何使用 OpenSSL API 计算文件的 MD5 值:
#include <stdio.h>
#include <stdlib.h>
#include <openssl/md5.h>
#define BUFFER_SIZE 1024
int calculate_md5(const char *filename, unsigned char *digest) {
FILE *file = fopen(filename, "rb");
if (!file) {
perror("Unable to open file");
return -1;
}
MD5_CTX md5_context;
MD5_Init(&md5_context);
unsigned char buffer[BUFFER_SIZE];
size_t bytesRead;
while ((bytesRead = fread(buffer, 1, BUFFER_SIZE, file)) != 0) {
MD5_Update(&md5_context, buffer, bytesRead);
}
MD5_Final(digest, &md5_context);
fclose(file);
return 0;
}
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
return 1;
}
const char *filename = argv[1];
unsigned char digest[MD5_DIGEST_LENGTH];
if (calculate_md5(filename, digest) == 0) {
printf("MD5(%s) = ", filename);
for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
printf("%02x", digest[i]);
}
printf("\n");
return 0;
} else {
return 1;
}
}
在上面的示例中,