日期:2014-05-16  浏览次数:20752 次

请问linux c如何计算文件内容的MD5校验值?
    我想请问一下linux c中如何计算文件内容的MD5值, 我想实现的是传入一个文件的路径, 经过计算后以字符串的形式返回文件内容的MD5.  请问该怎么写实现代码啊?
------解决方案--------------------
#include <openssl/md5.h>
int MD5_Init(MD5_CTX *c);
int MD5_Update(MD5_CTX *c, const void *data, size_t len);
int MD5_Final(unsigned char *md, MD5_CTX *c);
------解决方案--------------------
#include <openssl/md5.h>
#include <string.h>
#include <stdio.h>
 
int main(void)
{
MD5_CTX ctx;
unsigned char outmd[16]={0};
int i=0;
unsigned char *String = "hello\n";
printf("data=%s\n",String);

MD5_Init(&ctx);
MD5_Update(&ctx,"hel",3);
MD5_Update(&ctx,"lo\n",3);
MD5_Final(outmd,&ctx);

for(i=0;i<16;i++)
    printf("%02x",outmd[i]);
printf("\n");
return 0;
}


编译时gcc yourfile.c -lssl