md5加密 linux c/c++

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

你可能感兴趣的:(算法,linux,加密,gcc,ubuntu)