方法一:
方法二:
#include <stdio.h>
#include <openssl/md5.h>
#include <string.h>
int main(int argc, char **argv)
{
MD5_CTX ctx;
unsigned char *data = "123";
unsigned char md[16];
char buf[33] = {'\0'};
char tmp[3] = {'0'};
int i;
MD5_Init(&ctx);
MD5_Update(&ctx, data, strlen(data));
MD5_Final(md, &ctx);
for(i = 0; i < 16;i++)
{
sprintf(tmp, "%02X", md[i]);
strcat(buf, tmp);
}
printf("%s\n", buf);
return 0;
}
方法二:
#include <stdio.h>
#include <openssl/md5.h>
#include <string.h>
int main(int argc, char **argv)
{
unsigned char *data = "123";
unsigned char md[16];
int i;
char tmp[3] = {'\0'}, buf[33] = {'0'};
MD5(data, strlen(data), md);
for(i = 0;i < 16;i++)
{
sprintf(tmp, "%2.2x", md[i]);
strcat(buf, tmp);
}
printf("%s\n", buf);
return 0;
}
1,保存文件为main.c
2,编译:
$gcc -o main main.c -lcrypto
3,运行:
$./main
两种方法的输出都是:202CB962AC59075B964B07152D234B70