C# - 393 bytes cracked
using System;class P{static void Main(string[]a){int l=a[0].Length;l=l%8==0?l/8:l/8+1;var b=new byte[l][];for(int i=0;i<l;i++){b[i]=new byte[8];};int j=l-1,k=7;for(int i=0;i<a[0].Length;i++){b[j][k]=Convert.ToByte(""+a[0][i],16);k--;if((i+1)%8==0){j--;k=7;}}var c=0xcbf29ce484222325;for(int i=0;i<l;i++){for(int o=0;o<8;o++){c^=b[i][o];c*=0x100000001b3;}}Console.WriteLine(c.ToString("X"));}}
Ungolfed:
using System;
class P
{
static void Main(string[]a)
{
int l = a[0].Length;
l = l % 8 == 0 ? l / 8 : l / 8 + 1;
var b = new byte[l][];
for (int i = 0; i < l; i++) { b[i] = new byte[8]; };
int j = l-1, k = 7;
for (int i = 0; i < a[0].Length; i++)
{
b[j][k] = Convert.ToByte(""+a[0][i], 16);
k--;
if((i+1) % 8 == 0)
{
j--;
k = 7;
}
}
var c = 0xcbf29ce484222325;
for (int i = 0; i < l; i++)
{
for (int o = 0; o < 8; o++)
{
c ^= b[i][o];
c *= 0x100000001b3;
}
}
Console.WriteLine(c.ToString("X"));
}
}
I have never touched cryptography or hashing in my life, so be gentle :)
It's a simple implementation of an FNV-1a hash with some array pivoting on the input. I am sure there is a better way of doing this but this is the best I could do.
It might use a bit of memory on long inputs.