跳转到主要内容

摘要的易读表示。

项目描述

humanhash提供了摘要的易读表示。

https://img.shields.io/travis/blag/humanhash.svg https://img.shields.io/coveralls/blag/humanhash.svg https://img.shields.io/pypi/v/humanhash3.svg https://img.shields.io/pypi/l/humanhash3.svg https://img.shields.io/pypi/pyversions/humanhash3.svg

示例

>>> 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 (5.4 kB 查看哈希值)

上传时间

由以下组织支持