#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]);
    }

    printf("\n");


    return 0;
}