md5从16字节转换为32字节

大耗子 2021年01月20日 46次浏览

md5从16字节变为32字节

16字节到32字节的转换,实际上是通过将每个字节输出成十六进制数据的来的,所以通过一下函数实现。

#include <stdio.h>


void md5_short_to_long(char *md5_long, char *md5_short)
{
    int i = 0;
    char *p_md5_long = md5_long;
    for(i = 0; i < MD5_SHORT; i++){
        p_md5_long += sprintf(p_md5_long,"%2x",md5_short[i]);
    }
        printf("fun long md5:%s\n",md5_long);
}



void main()
{
        char md5_short[17] = { "0123456789abcdef"};
        char md5_long[33] = {0};
        
        md5_short_to_long(md5_long, md5_short);
        printf("long md5:%s\n",md5_long);
        
        
}