Support different hash types