22得票4回答
什么是哈希碰撞?

HashMap中的哈希冲突或散列冲突并不是一个新话题,我曾经看过几篇博客和讨论版块,介绍如何产生哈希冲突或如何避免它,但这些都解释得含糊而冗长。最近在一次面试中我也遇到了类似的问题,我有很多事情要解释,但我认为精确地给出正确的解释真的很困难。如果我的问题在这里重复了,请指引我找到精确的答案: ...

20得票4回答
如何处理Swift中字典的哈希冲突问题

简述 我的自定义结构实现了Hashable Protocol。然而,在向Dictionary中插入键时发生哈希冲突时,它们不会自动处理。我该如何解决这个问题? 背景 我以前曾在这里问过这个问题——如何为Int数组(自定义字符串结构)在Swift中实现Hashable Protocol。后...

18得票5回答
意外与std::hash的冲突

我知道将无限数量的字符串哈希成32位整数必定会产生冲突,但我希望哈希函数能够提供一些良好的分布。 这两个字符串具有相同的哈希值,这不奇怪吗?size_t hash0 = std::hash<std::string>()("generated_id_0"); size_t hash...

17得票3回答
.NET字典如何解决冲突?

我有一个自定义对象需要为表格键入。我需要生成一个唯一的数字键。我遇到了冲突问题,想知道是否可以利用字典来帮助我。假设我有这样一个对象:class Thingy { public string Foo; public string Bar; public string O...

16得票3回答
在Swift中,字典如何使用Equatable协议?

为了解决这个问题,我在尝试使用实现了Hashable协议的自定义结构体。我试图查看在填充Dictionary时是否发生哈希碰撞,根据情况调用等价运算符重载(==)的次数。更新@matt编写了一个更干净的示例,它实现了Hashable协议,并展示了调用hashValue和==的频率。我将复制他的...

14得票2回答
使用SHA1前8个字符时出现重复哈希的概率

如果我有一个URL的索引,并且使用SHA1哈希的前8个字符对它们进行标识,那么两个不同的URL具有相同ID的概率是多少?

13得票5回答
不同文件大小的哈希碰撞和相同文件大小的概率一样吗?

我正在对大量文件进行哈希处理,为了避免哈希冲突,我还会存储文件的原始大小——这样,即使出现哈希冲突,文件大小也极不可能相同。这种做法可行吗(哈希冲突的大小是等可能的),还是需要其他信息(如果冲突时相同长度更有可能)? 更一般地说,无论原始文件大小如何,每个文件生成特定哈希的概率是否都相同?

11得票1回答
SHA256哈希的前8-12个字符有多独特?

以这个哈希为例:ba7816bf 8f01cfea 414140de 5dae2223 b00361a3 96177a9c b410ff61 f20015ad 这篇文章对于我的目的来说太长了,所以我打算只使用其中的一小部分,比如:ba7816bf8f01 ba7816bf 类似的用途。我的预期...

11得票1回答
Adler32哈希的恐怖碰撞问题

当使用adler32()作为哈希函数时,应该预期很少的碰撞。 我们可以精确计算碰撞概率,但大体上来说,由于它是一个32位的哈希函数,在数千个项目的样本集中不应该有太多的碰撞。 然而实际情况并非如此。 这里有一个例子:我们来看包含日期字符串的字符串,例如:"Some prefix text...

11得票1回答
ASP.NET中的哈希碰撞问题是如何被修复的(MS11-100)?

据Slashdot报道, 微软今天发布了ASP.NET更新以修复哈希碰撞攻击。(在链接的Technet页面上列为“哈希表中的冲突可能导致DoS漏洞 - CVE-2011-3414”) 问题在于,POST数据被转换为使用已知哈希算法的哈希表。如果攻击者通过构造包含大量冲突的请求来利用此问题,他...