change hash algorithm implement