
密码学
随笔
子春二七
这个作者很懒,什么都没留下…
展开
-
Hash算法特点
2.2 Hash算法有什么特点一个优秀的 hash 算法,将能实现:正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能)逆推出明文。输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲...转载 2020-04-15 16:22:47 · 8767 阅读 · 0 评论 -
Hash算法——进阶
Hash算法——进阶2.1 Hash是什么,它的作用先举个例子。我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志。也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,身份证也可以伪造。最可靠的办法是把一个人的所有基因序列记录下来用来代表这个人,但显然,这样做并不实际。而指纹看上去是一种不错的选择,虽然一些专业组织仍然可以模拟某个人...转载 2020-04-15 16:17:07 · 153 阅读 · 0 评论 -
Hash算法解决冲突的方法
Hash算法解决冲突的方法一般有以下几种常用的解决方法1, 开放定址法:所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入公式为:fi(key) = (f(key)+di) MOD m (di=1,2,3,……,m-1)※ 用开放定址法解决冲突的做法是:当冲突发生时,使用某种探测技术在散列表中形成一个探测序列。沿此序列逐个单...转载 2020-04-15 16:13:38 · 185 阅读 · 0 评论 -
Hash构造函数的方法
1.2 Hash构造函数的方法1.2.1 直接定址法:直接定址法是以数据元素关键字k本身或它的线性函数作为它的哈希地址,即:H(k)=k 或 H(k)=a * k + b ; (其中a,b为常数)例1,有一个人口统计表,记录了从1岁到100岁的人口数目,其中年龄作为关键字,哈希函数取关键字本身,如图(1): 可以看到,当需要查找某一年龄的人数时,直接查找相应的项即可。如查找99...转载 2020-04-15 16:01:21 · 2140 阅读 · 0 评论 -
Hash原理(基础)
一、Hash原理(基础)1.1 概念哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。使用哈希查找有两个步骤:...转载 2020-04-15 16:00:58 · 223 阅读 · 0 评论