我有一个严重而恼人的问题,请帮忙
mdContext->digest[i] 是一个具有十六进制值的无符号字符数组,所以
for (i = 0; i < 16; i++)
printf ("%02x", mdContext->digest[i]);
Run Code Online (Sandbox Code Playgroud)
印刷 900150983cd24fb0d6963f7d28e17f72
现在......我想在一个字符数组中获取这个值,即如果我这样做
printf("%s",ArrayConverted);
Run Code Online (Sandbox Code Playgroud)
我想打印上面的字符串...请帮我做这个
我尝试过的事情
unsigned char in[64]=0;
int tempValue[64];
for (i = 0; i < 16; i++){
sprintf(&tempValue[i],"%02x", (unsigned char)mdContext->digest[i]);
in[i]=(unsigned char)tempValue[i];
}
printf("%s\n\n\n",in);
Run Code Online (Sandbox Code Playgroud)
这打印
90593d4bd9372e77 但原始内容是900150983cd24fb0d6963f7d28e17f72
所以它在中间跳过了许多字符......请帮我将此十六进制字符数组转换为字符串