摘要的易读表示。
项目描述
humanhash提供了摘要的易读表示。
示例
>>> import humanhash
>>> digest = '7528880a986c40e78c38115e640da2a1'
>>> humanhash.humanize(digest)
'three-georgia-xray-jig'
>>> humanhash.humanize(digest, words=6)
'high-mango-white-oregon-purple-charlie'
>>> humanhash.uuid()
('potato-oranges-william-friend', '9d2278759ae24698b1345525bd53358b')
注意事项
不要存储humanhash输出,因为其统计唯一性大约为43亿分之一。其预期用途是作为较长摘要的易读(并且,最重要的是,易于记忆)表示,足以在用户界面中显示,用户可能需要记住或口头传达哈希的身份,而无需记住40个字符的十六进制序列。尽管如此,您仍应保留原始摘要,然后在显示时才通过humanize()传递。
工作原理
生成humanhash的过程涉及将输入压缩到固定长度(默认:4字节),然后将每个字节映射到预定义单词列表中的一个单词(库中提供了默认单词列表)。此算法是一致的,因此相同的输入(给定相同的单词列表)将始终产生相同的输出。您还可以使用自己的单词列表,并指定不同的单词数作为输出。
灵感
Chroma-Hash - 哈希的可视化表示(尽管不能在终端或走廊中喊出)。
北约语音字母表 - 人类通信清晰度与表示字节效率之间权衡的一个很好的例子。
项目详情
关闭
humanhash3-0.0.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 89ae15f6034bdb07e53ac2b2e246cc7131940766d2b2b70b7398dd27c640b1ab |
|
MD5 | c892640cca499ba5a83cfe152d295b9d |
|
BLAKE2b-256 | 0106733ffbb45b78c34eba21d72e71a67f44af6efcdfb2e31ccaa837eb5144be |