Hashlib compatible API