a fast cryptographic hash function
