FNV hash function public domain code
copied from http://www.isthe.com/chongo/tech/comp/fnv/