Added support for injecting a custom hash function, still defaults to crc32