Rework hash implementations to provide additional algorithms.