http://blog.csdn.net/xyy410874116/article/details/6442172
注:在linux命令行中输入 echo -n "3" | md5sum 也可以输出对应的md5编码
我的软件是ubuntu10.4:首先确保你的电脑上装有openssl,如果没有可以手动安装 :输
入sudo apt-get install openssl libssl-dev然后回车等待 就OK啦
第一种方法:
////////////////md5Test.c;///////////////////////
#include<stdio.h>
#include<openssl/md5.h>
#include<string.h>
int main()
{
MD5_CTX ctx;
unsigned char *data="3";
unsigned char md[16];
char buf[33]={'\0'};
char tmp[3]={'\0'};
int i;
MD5_Init(&ctx); //初始化一个MD5_CTX这样的结构体
MD5_Update(&ctx,data,strlen(data)); //更新这块区域,防止引用非法数据
MD5_Final(md,&ctx); //最后把ctx中的数据按照MD5算法生成16位的MD5码,存放到
md中
for( i=0; i<16; i++ ){
sprintf(tmp,"%02X",md[i]);
strcat(buf,tmp);
}
printf("%s/n",buf);
return 0;
}
编译一下:gcc -o md5Test md5Test.c -lcrypto
运行./md5Test
可以看到“3”加密后的值是:ECCBC87E4B5CE2FE28308FD9F2A7BAF3