加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读