Linux下C基于openssl生成MD5的函数
发布时间:2020-12-16 07:48:14 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #include "stdio.h"#include string.h#include stdlib.h#include openssl/md5.hint get_md5( char *input,char *output){ char password[1024*1024*5]
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #include "stdio.h" #include <string.h> #include <stdlib.h> #include <openssl/md5.h> int get_md5( char *input,char *output) { char password[1024*1024*5]={0}; MD5_CTX x; int i = 0,len; char *out = NULL; unsigned char d[16]; unsigned char tmp[128] = { 0 }; strcpy (password,input); MD5_Init(&x); MD5_Update(&x,( char *)password,strlen (password)); MD5_Final(d,&x); out = ( char *) malloc (35); memset (out,0x00,35); strcpy (out,"$1$" ); // printf("MD5("%s") = ",password); for (i = 0; i < 16; i++) { sprintf (out + (i*2),"%02X",d[i]); // 转换为32位 } out[32] = 0; // printf("%sn",out); strcpy (output,out); free (out); return 0; } #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]={ ' ' }; char tmp[3]={ ' ' }; int i; MD5_Init(&ctx); MD5_Update(&ctx,data,strlen (data)); MD5_Final(md,&ctx); for ( i=0; i<16; i++ ){ sprintf (tmp,md[i]); strcat (buf,tmp); } printf ( "%sn",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]={ ' ' },buf[33]={ ' ' }; MD5(data,strlen (data),md); for (i = 0; i < 16; i++){ sprintf (tmp,"%2.2x",buf); return 0; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |