Implementation of the abstract HashGenerators
Refactore existing code to use new hashGenerators