/0XAB-->"AB" 长度会扩大一倍!注意:0没有结束符
static void G_1byteTo2str(unsigned char* strings,unsigned char* bytes,unsigned char len)
{
unsigned char const StrRefer[]="0123456789abcdef";//"0123456789ABCDEF";
#define GET_MSB_STR(x) (StrRefer[((x>>4)&0x0f)])
#define GET_LSB_STR(x) (StrRefer[(x&0x0f)])
for(char i=0,j=0;i<len;i++,j+=2)
{
strings[j] =GET_MSB_STR(bytes[i]);
strings[j+1]=GET_LSB_STR(bytes[i]);
}
}
void MD5TEST(void)
{
int i;
unsigned char encrypt[] ="admin";//21232f297a57a5a743894a0e4a801fc3
unsigned char decrypt[16];
unsigned char decrypt2[32];
MD5_CTX md5;
MD5Init(&md5);
MD5Update(&md5,encrypt,strlen((char *)encrypt));
MD5Final(&md5,decrypt);
printf("加密前:%s\r\n加密后:",encrypt);
for(i=0;i<16;i++)
{
printf("%02X",decrypt[i]);
}
printf("\r\n");
G_1byteTo2str(decrypt2,decrypt,16);
for(i=0;i<32;i++)
{
printf("%02X-",decrypt2[i]);
}
printf("\r\n");
}