#include <stdio.h>
#include <string.h>
int main(void)
{
unsigned char hex[] = "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08";
size_t stringLength = (sizeof(hex)/sizeof(hex[0]))-1;
unsigned char tmpInHash[stringLength/2];
int j=0;
tmpInHash[0] = 0;
for (size_t i = 0; i < stringLength; i++)
{
if ((hex[i] >= 'a') && (hex[i] <= 'z'))
{
tmpInHash[j] |= hex[i] -'a' + 10;
}
else if ((hex[i] >= '0') && (hex[i] <= '9'))
{
tmpInHash[j] |= hex[i] -'0';
}
if ((i%2) == 0)
{
tmpInHash[j]<<=4;
}
else
{
j++;
if (j < stringLength/2)
tmpInHash[j] = 0;
}
}
for (size_t i = 0; i < stringLength/2; i++)
{
printf("0x%02X ", tmpInHash
[i
]); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBtYWluKHZvaWQpCnsKICAgIHVuc2lnbmVkIGNoYXIgaGV4W10gPSAiOWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOCI7CgogICAgc2l6ZV90IHN0cmluZ0xlbmd0aCA9IChzaXplb2YoaGV4KS9zaXplb2YoaGV4WzBdKSktMTsKCiAgICB1bnNpZ25lZCBjaGFyIHRtcEluSGFzaFtzdHJpbmdMZW5ndGgvMl07CgogICAgaW50IGo9MDsKCiAgICB0bXBJbkhhc2hbMF0gPSAwOwoKICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RyaW5nTGVuZ3RoOyBpKyspCiAgICB7CiAgICAgICAgaWYgKChoZXhbaV0gPj0gJ2EnKSAmJiAoaGV4W2ldIDw9ICd6JykpCiAgICAgICAgewogICAgICAgICAgICB0bXBJbkhhc2hbal0gfD0gaGV4W2ldIC0nYScgKyAxMDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoKGhleFtpXSA+PSAnMCcpICYmIChoZXhbaV0gPD0gJzknKSkKICAgICAgICB7CiAgICAgICAgICAgIHRtcEluSGFzaFtqXSB8PSBoZXhbaV0gLScwJzsKICAgICAgICB9CgogICAgICAgIGlmICgoaSUyKSA9PSAwKQogICAgICAgIHsKICAgICAgICAgICAgdG1wSW5IYXNoW2pdPDw9NDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaisrOwoKICAgICAgICAgICAgaWYgKGogPCBzdHJpbmdMZW5ndGgvMikKICAgICAgICAgICAgICAgdG1wSW5IYXNoW2pdID0gMDsKICAgICAgICB9CgogICAgfQoKICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RyaW5nTGVuZ3RoLzI7IGkrKykKICAgIHsKICAgICAgICBwcmludGYoIjB4JTAyWCAiLCB0bXBJbkhhc2hbaV0pOwogICAgfQoKICAgIHByaW50ZigiXG4iKTsKCgogICAgcmV0dXJuIDA7Cn0=