首页 > 代码库 > centos下Linux C语言MD5的使用

centos下Linux C语言MD5的使用

在Linux C变成中用到MD5加密会使用到openssl库,下面给出的是一个简单的小Demo:

#include <stdio.h>#include <openssl/md5.h>#include <string.h>#define     MD5_LENGTH           16#define     MAX                  40int  main(void) {    MD5_CTX  ctx;    unsigned char  data[MAX];    unsigned char  md[MD5_LENGTH];    char buf[MAX] = "";    char tmp[3] = "";    fprintf(stderr, "Input string:");    fgets(data, MAX, stdin);    data[strlen(data)-1] = \0;    MD5_Init(&ctx);    MD5_Update(&ctx, data, strlen(data));    MD5_Final(md, &ctx);    int  i = 0;    for (; i < MD5_LENGTH; ++i) {        sprintf(tmp, "%02X", md[i]);        strcat(buf, tmp);    }    fprintf(stderr, "%s\n", buf);    return  0;}

这里如果在进行编译时出现 Error: openssl/MD5.h No Such File or Directory说明目前没有安装openssl的开发包,那需要安装一下该安装包:

使用yum install openssl-devel 即可完成安装。

如果在编译时出现undefined reference to `MD5_Init‘是因为在编译时需要链接openssl库的内容,在编译时加上-lssl就OK了。