在线哈希碰撞演示工具,可视化展示不同位宽哈希函数的碰撞情况,支持碰撞搜索和生日攻击两种模式,帮助理解哈希冲突原理。
When to use
哈希碰撞是密码学和数据结构中的核心概念,但抽象难懂,此工具通过可视化模拟让用户直观看到碰撞发生的概率和过程。
How to use
- 1选择哈希位宽(8/12/16/20位),位宽越小碰撞越容易发生。
- 2选择模式:碰撞搜索(找到第一个碰撞即停)或生日攻击(持续统计碰撞)。
- 3点击「开始」按钮运行模拟,可随时暂停或重置。
- 4观察图表和统计卡片中的尝试次数、碰撞数、速率及理论预期值。
- 5查看下方结果列表,了解碰撞的具体输入和哈希值。
Input & output
输入:哈希位宽、模式(碰撞搜索或生日攻击)。输出:实时统计(尝试次数、碰撞数、速率、理论预期)、可视化图表、碰撞记录列表。
Who it's for
适合计算机科学学生、密码学爱好者、开发者以及任何想直观理解哈希碰撞概念的人。
FAQ
- 碰撞搜索和生日攻击模式有什么区别?
- 碰撞搜索模式在找到第一个碰撞后自动停止,用于演示碰撞发生的首次尝试次数;生日攻击模式则持续运行,统计所有碰撞,直到哈希空间穷尽或达到尝试上限。
- 理论预期值是如何计算的?
- 理论预期值基于生日悖论,公式为 sqrt(π/2 * N),其中N是哈希空间大小(2的位宽次方),表示期望找到第一个碰撞所需的尝试次数。
- 为什么碰撞记录只显示最近20条?
- 为了防止大量碰撞导致页面内存溢出,工具只保留最近20条碰撞记录,但统计数字(碰撞总数)仍然准确。
- 哈希函数是真实的吗?
- 工具使用一个简化的字符串哈希函数(类似Java的hashCode),仅用于演示碰撞原理,并非加密安全的哈希算法。