【发布时间】:2017-04-03 22:30:24
【问题描述】:
我正在寻找一个不会产生冲突的简单哈希函数。
我有一个字母数字序列(比如 16 个字母长),我希望它们中的每一个都映射到唯一的散列值。理想情况下,散列值与原始序列的长度相同(16 个字母长)。
有没有一个简单的python哈希函数可以实现这个?
【问题讨论】:
-
您已经将其命名为:它被称为“完美哈希函数”,我认为它最早是在 1978 年左右的一篇论文中描述的。你怎么没有在你的文献搜索中找到它?
-
会是一个简单的密码吗?即从每个字符的 ascii 值中减去 5(并循环以确保所有字符都有效)
-
听起来身份哈希可以正常工作。如果您想将 16 个字符的序列散列为 16 个字符的序列而不会发生冲突,
lambda x: x可以满足这些要求。 -
我投票结束这个问题,因为没有定义要求,并且提问者在给出了有效的答案后提出了新的要求。
-
"如果哈希函数的输入是 X,则不能总是返回 X。"为什么不?你需要解释为什么。如果这是一项安全措施,那就令人难以置信。为什么你需要一个完美的哈希,而不是 SHA256?