#include #include static uint32_t hash(uint64_t tohash) { uint32_t myhash = 0xdeadbabe; int i; for(i = 0; i < 8; tohash >>= 4, i++) { myhash += tohash & 0xff; myhash += myhash << 10; myhash ^= myhash >> 8; } return myhash; } int main(void) { int i; for(i = 0; i < 1000; i++) printf("%.016llx: %.08x\n", (uint64_t)i, hash(i)); return 0; }