python - 如何从十六进制转换为摘要,反之亦然?

标签 python hash binary-data

我想将散列存储为二进制(64字节)。但是对于任何类型的API(Web服务),我都希望将它们作为字符串传递。 hashlib.hexdigest()将给我一个字符串,hashlib.digest()将给我二进制文件。但是,例如,如果我从磁盘读取二进制版本,该如何将其转换为字符串?而且,如果我从Web服务中读取字符串,该如何将其转换为二进制文件?

最佳答案

您可以从字符串版本开始传递并显示:

>>> import hashlib
>>> string_version = hashlib.md5(b'hello world').hexdigest()

将其转换为二进制文件以将其写入磁盘:
>>> save_as_binary = string_version.encode('utf-8')
>>> print(save_as_binary)
b'5eb63bbbe01eeed093cb22bb8f5acdc3'

从磁盘读回时,将其转换回字符串:
>>> back_to_string = save_as_binary.decode('utf-8')
>>> print(back_to_string)
5eb63bbbe01eeed093cb22bb8f5acdc3

关于python - 如何从十六进制转换为摘要,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856196/

相关文章:

python - 慢速打印(模拟打字)

python - 当列名包含 'XXX'时计算非空单元格的数量

c# - 如何在 C# 中实现 sdbm 哈希函数?

r - 将一列从分类转换为二进制,保留其余列

fortran - 如何在 FORTRAN 中更快地写入二进制文件?

python - 从 python 列表访问二进制数据时出错

python - 获取东方 ='records' 的 python pandas to_dict 但没有 float 转换

python - django 将字段名称作为 get_or_create 中的变量传递

mysql - 通过散列 mysql 列搜索

c# - 计算 MD5 值对于不同的字符串返回 "0001..0E0F"