人类可读的摘要表示法。
humanhash3的Python项目详细描述
humanhash提供了摘要的可读表示。
示例
>>>importhumanhash>>>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字节),然后映射这些字节中的每一个 到预定义单词列表中的单词(默认单词列表随 图书馆)。这个算法是一致的,所以相同的输入,给定 相同的单词表,总是给出相同的输出。你也可以使用 拥有wordlist,并为输出指定不同数量的单词。
灵感
- Chroma-Hash-哈希的可视表示(尽管不是 一种可以在终端上输出,或在走廊上大声叫喊的装置)。
- The NATO Phonetic Alphabet-一个很好的权衡例子 在人类交流的清晰性和字节效率之间 代表。