问题标签 [hash-collision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
765 浏览

c++ - C++:正确使用 HASH 和碰撞技术

哈希表的大小是否应该有大小限制?

我有点困惑,因为我明白为什么创建太小的哈希表会导致我出现问题?似乎太大的哈希表导致我的探针抛出 Sig 错误?如果有人对哈希表有经验,这是我的代码。我当然很感激你提供的任何建议(除了编织之外,请):

0 投票
2 回答
224 浏览

hash - 截至 2011 年,哪种哈希算法最适合消息摘要?

当我用谷歌搜索这个答案时,我有点矛盾,因为这些算法在不断改进,新的漏洞正在被发现,新的问题一直在出现......关于使用什么算法的很多建议只是旧的,或者保留旧时代的想法,因为它们是最好的方法。

我想在这里非常清楚:我不是在谈论密码。我说的是消息摘要,而不是加密哈希。

我可以继续使用 md5 作为我对消息摘要的第一个暗示(它的名字是正确的),但后来我记得那里的冲突比更现代的算法更多。但是,是什么让这些较新的算法更适合文件或短字符串的消息摘要?

所以这就是我的问题,应该使用什么现代消息摘要算法?

0 投票
1 回答
1586 浏览

hash - 我正在使用 ELF Hash 编写经过特殊调整的哈希映射版本。想要产生碰撞

任何人都可以举一个仅由字母字符组成的 2 个字符串的示例,它们将产生与 ELFHash 相同的哈希值吗?

我需要这些来测试我的代码。但它似乎并不容易生产。令我惊讶的是,互联网上有很多各种哈希函数的示例代码,但没有一个提供碰撞字符串的示例。

下面是 ELF 哈希,以备不时之需。

0 投票
3 回答
180 浏览

c# - 这个哈希函数会异常频繁地碰撞吗?

我有以下代码来生成对象的哈希:

即,我添加了所有属性的哈希码,然后对其进行哈希处理。

在审查中,一位同事建议这将过于频繁地发生冲突。我不确定这是不是真的,因为:

  1. 鉴于在正数和负数之间以相同的频率选择哈希码并且它们环绕,我认为我们没有获得任何关于这些数字总和的可能性的额外信息,而不是数字本身
  2. 如果它们的总和是非随机的,哈希码旨在使“靠近”的数字变得“相距甚远”,因此将非均匀分布的值输入函数应该不是问题

谁是正确的?

它在 C# 中,以防答案是特定于语言的。

0 投票
1 回答
3017 浏览

hash - SHA-0 是如何被破坏的?- 少量的哈希冲突有什么意义?

我想了解 SHA0 哈希函数是如何被破坏的。我知道利用生日问题/鸽子保留原则,发现了哈希冲突。 http://www.mail-archive.com/cryptography%40metzdowd.com/msg02554.html包含示例消息。

我在查找/理解时遇到的问题:这是否意味着有一种及时的数学方法总是会产生哈希冲突?

我最终是否可以为给定的 m1 找到一个 m2,使得 m1 != m2, sha(m1) == sha(m2) 还是只能在可能消息的子集上找到?改写:我的密码是否有可能保证有另一条冲突消息?

在上面的链接中找到 2 条具有相同哈希值的随机长消息有什么意义? 为什么他们必须筛选冗长的随机消息以查找碰撞,而不是计算碰撞以获取诸如“棕色狗跳过狐狸”之类的实际消息?

哈希冲突的几个例子似乎不如及时为任何消息生成冲突的方法重要,但所有帖子都在谈论前者。

感谢您的帮助/您的时间!我读过很多帖子/文章,但无法解决我的困惑。我怀疑我对其他损坏的哈希函数(如 MD5)也有同样的问题。

编辑:

答案中引用的论文(解释了查找碰撞的改进方法)

0 投票
6 回答
5808 浏览

hash - md5 哈希冲突。

如果从 1 数到 X,其中 X 是第一个与前一个数字发生 md5 冲突的数字,X 是多少?

我想知道我是否使用 md5 作为序列号,在发生碰撞之前我可以期望能够枚举多少个单元。

0 投票
5 回答
1684 浏览

java - 为什么我的 HashTable 不允许键冲突?

我读到 HashTable 可以将相同的键映射到多个值。这就是碰撞。

现在我像这样运行程序:

我的想法说我应该得到aaand ab

但实际输出是ab

为什么会这样?那么碰撞在哪里呢?

0 投票
3 回答
3474 浏览

hash - SHA-1 哈希的最大数量是多少?

显然,由于 SHA-1 散列每次产生 40 个字符,因此可能的散列数量是有限的——有人知道确切的数量吗?

0 投票
4 回答
1133 浏览

hash - 512 位哈希与 4 128 位哈希

有趣的是,我还没有找到关于单个 512 位散列(如漩涡)与 4 个 128 位散列(如 md5、sha1 等)的连接的碰撞机会的任何测试或实验的足够信息。

当执行散列的数据相当小,平均只有 100 个字符时,4 个 128 位散列看起来相同的可能性似乎比单个 512 位散列小。

但这只是一个没有根据的明显猜测,因为我没有进行任何测试。你怎么想的?

编辑它就像 512bit hash vs 128bit hash 。128位哈希。128位哈希。128 位散列(4 128 位散列连接)

Edit2 我想在 url 上使用散列索引或考虑 RAM的散列 ,目的是尽量减少冲突的可能性,因为我想将散列列设置为唯一而不是 url 列。

Edit3 请注意,这个问题的目的是找到将碰撞可能性降至最低的方法。话虽如此,为什么我需要更多地关注减少碰撞的可能性?这是我的 Edit2 描述,它导致找到使用更少 RAM 的解决方案。因此,兴趣在于最大限度地减少冲突和降低 RAM 使用率。但这个问题的主要焦点是降低碰撞的可能性。

0 投票
3 回答
864 浏览

md5 - 递归 MD5 和碰撞概率

我想知道将一堆 MD5 哈希值散列在一起以创建一个新的散列是否“安全”,或者这是否会以任何方式增加冲突的可能性。

背景:我有几个具有依赖关系的文件。每个文件都有一个相关的哈希值,该哈希值是根据其内容计算得出的。我们称其为“单文件”哈希值。除此之外,文件还应该有一个包含所有依赖文件的哈希值,即“多文件”哈希值。

所以问题是:我是否可以只取依赖文件的所有单文件 MD5 哈希值,将它们连接起来,然后在连接后的值上计算 MD5 以获得多文件哈希值。或者这是否会导致 MD5 哈希比我将所有依赖文件的内容连接在一起更容易发生冲突。

或者,我是否可以将单文件哈希值异或在一起以生成多文件哈希值,或者这可能会导致更多冲突?