对于一个演示项目,我想创建一个碰撞概率非常高的哈希函数。简单的东西很好,因为该项目的目的不是安全性——而是为了演示哈希冲突。
任何人都可以帮助我开始使用算法或示例实现,或者只是为我指明正确的方向吗?
我正在用 Python 执行此操作,尽管这可能无关紧要。
最佳答案
您可以使用字符串中字符的总和。这是我在高中时第一次学习 BASIC 时学到的第一个哈希函数,我马上就遇到了碰撞问题,不得不想办法处理它。
sum(ord(c) for c in text)
通过交换字符串甚至单词可以轻松实现换位。为了更有趣,您还可以使其不区分大小写:
sum(ord(c) for c in text.lower())
我什至会给你最后一个碰撞示例:Jerry Kindall -> Dillan Kyrjer :-)
关于python - 实现带碰撞的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113310/