![]() |
1
13
散列的定义是,由于散列值范围小于散列数据的空间,它为某些值生成重复值。 理论上,32位散列有足够的范围来散列所有~6个字符串(仅a-Z、a-Z、0-9),而不会造成冲突。实际上,哈希并不是输入的完美排列。给定32位散列,由于 birthday paradox
给定一组静态数据值,总是可以构造一个专门为它们设计的哈希函数,它永远不会与自身发生冲突(当然,其输出的大小至少为
尽管如此, here |
![]() |
2
2
每个散列都会有冲突。时期那叫一个 Birthday Problem . 您可能希望检查加密函数是否具有类似MD5的功能(相对较快,您不在乎它是否不安全),但它也会发生冲突。 |
![]() |
3
2
散列为不同的输入生成相同的值——这就是它们所做的。您所能做的就是创建一个具有足够分布或位深度(或两者)的哈希函数,以最小化这些冲突。因为你有这个额外的精度限制(0-5?),那么你将更频繁地碰撞。 |
![]() |
4
1
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |