python - 实现带碰撞的哈希函数

标签 python hash

对于一个演示项目,我想创建一个碰撞概率非常高的哈希函数。简单的东西很好,因为该项目的目的不是安全性——而是为了演示哈希冲突。

任何人都可以帮助我开始使用算法或示例实现,或者只是为我指明正确的方向吗?

我正在用 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/

相关文章:

perl - 在 Perl 中,如何从散列中获取任意值?

python - 如何在更改变量时触发 if 语句 (Python3)

sql - 对除主键之外的所有列定义 UNIQUE 约束是一个好主意吗?

python - 具有阈值的累积销售数据形成具有 bool 值的新系列/列?

python - 哪些机器人(网络)库可用于 python?

ruby-on-rails - 遍历 ruby​​ 中的哈希数组

security - 加扰社会安全号码

ruby - 谁能解释一下?

python - 将数据帧列值转换为列名称并显示计数

python - scipy.optimize.minimize,一次计算约束及其雅可比