10得票5回答
SQL Server 2005中的CHECKSUM()冲突问题

我有一个由6个列组成的主键的表格(3个整数、1个smallint、1个varchar(39)和1个varchar(2)),共有5,651,744行。我希望提高这个表格以及另一个共有37m行的表格的性能,后者与此表格共享相同的主键加上一个额外的列。 为了添加一个列来创建哈希键,我进行了分析,发...

9得票6回答
MD5哈希碰撞

如果从1数到X,其中X是第一个与前一个数字发生md5冲突的数字,那么X是多少? 我想知道如果我用md5生成序列号,我可以期望能够枚举多少个单位,然后才会出现冲突。

8得票5回答
如何处理一个包含2^50个元素的字典变量?

我需要找到2的25次方个随机字符串的SHA256哈希值, 然后只使用哈希值最后的50位(使用生日悖论)查找碰撞。我将字符串:哈希值对存储在字典变量中,然后按值(而不是键)对该变量进行排序,然后使用O(n)循环查找碰撞。这样做的问题是,由于有2的25次方个字符串和它们的2的25次方个哈希值,因此...

8得票2回答
理解循环多项式哈希碰撞

我有一个代码,使用循环多项式滚动哈希(Buzhash)计算源代码的n-gram哈希值。如果我使用小的哈希值(7-8位),那么会出现一些碰撞,即不同的n-gram映射到相同的哈希值。如果我将哈希值中的位数增加到31,那么就没有碰撞了——所有的n-gram都映射到不同的哈希值。 我想知道为什么会...

8得票4回答
寻找一个适用于UTF16文件路径的好的64位哈希函数

我有一个Unicode/UTF-16编码的路径。路径分隔符为U+005C“\”。 这些路径是以根目录为基础的Windows文件系统路径,例如"\windows\system32\drivers\myDriver32.sys"。 我想将此路径哈希成64位无符号整数。 它不需要是“加密安全”的。...

7得票3回答
什么是SHA-1散列的最大数量?

显然,每次使用SHA-1散列算法生成40个字符,因此可能的哈希值数量是有限的,您知道确切的数量吗?

7得票3回答
开放寻址与分离链接

当装载因子接近1时,哪种哈希冲突处理方案更好以确保最小的内存浪费? 我个人认为答案是线性探测的开放地址法,因为它在冲突时不需要任何额外的存储空间。这个想法正确吗?

7得票6回答
故意创建两个具有相同哈希值的文件?

如果有人故意尝试修改两个文件使它们具有相同的哈希值,有什么方法可以阻止他们?md5和sha1能否防止大多数情况? 我在考虑编写自己的哈希函数,即使我做得不好,如果用户不知道我的哈希函数,他可能无法欺骗我的哈希。 有什么最好的方法来防止这种情况发生?

7得票5回答
用一个64位数字唯一标识URL

这基本上是一个数学问题,但与编程有关:如果我有10亿个包含URL的字符串,并且我取其中每个字符串的MD5哈希的前64位,那么我应该期望什么样的碰撞频率? 如果我只有1亿个URL会发生什么变化? 在我看来,碰撞将非常罕见,但这些东西往往令人困惑。 如果我要使用其他的东西而不是MD5,会更好...

7得票2回答
多次碰撞攻击和哈希函数的第一或第二前像攻击有什么区别?

什么是哈希函数中的多重碰撞和第一或第二原像之间的区别? 第一原像攻击:给定一个哈希值h,找到一个消息m,使得哈希(m) = h。 第二原像攻击:给定一个固定的消息m1,找到另一个不同的消息m2,使得哈希(m2) = 哈希(m1)。 多重碰撞攻击:生成一系列消息m1、m2、... mN,使...