密码学哈希函数
哈希函数是一个数学函数,具有以下三个特征:
1、其输入可为任意大小的字符串
2、它产生固定大小的输出
3、它能进行有效计算,就是对于特定的输入字符串,在合理时间内,我们可以算出哈希函数的输出
加密的哈希函数的特性:
1、碰撞阻力
加密的哈希函数的第一个特性是他要具有碰撞阻力。这里的碰撞是指对于两个不同的输入,产生相同的输出。
2、隐密性
我们希望哈希函数具有的第二个特性是其隐密性。隐密性保证,如果我们仅仅知道哈希函数的哈希函数的输出y=H(x),我们没有可行的办法算出输入值x。
3、谜题友好
哈希函数需要的第三个安全特性为谜题友好特性。如果哈希函数具有谜题友好特性,就意味着对于这个谜题没有一个解决策略,比只是随机的尝试x取值会更好。
安全哈希算法:简称SHA—256,哈希函数有很多,但SHA—256是一个主要被比特币世界采用,并且效果还很不错的哈希函数。
SHA—256哈希函数利用了这样的一个压缩函数,这个压缩函数把一个768位的输入压缩成一个256位的输出,每一个区块的大小是512位。
哈希指针及数据结构哈希指针
哈希指针:哈希指针是一种数据结构,是一个指向数据存储位置及其位置数据的哈希值的指针。一个普通的指针可以告诉你数据存储的位置,哈希指针不但可以告诉你数据存储的位置,并且还可以给你一种方式,让你验证数据没有被篡改过。