Hash,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。
特性:
1.单向性(oneway):就是要求能方便的将"消息"进行"摘要",但在"摘要"中无法得到比"摘要"本身更多的关于"消息"的信息。
2.抗冲突性(collisionresistant):在统计上无法产生2个散列值相同的预映射。即给定M,计算上无法找到M’,满足H(M)=H(M')。
3.映射分布均匀性和差分分布均匀性:散列结果中,为0 的 bit 和为 1 的 bit ,其总数应该大致相等;输入中一个 bit的变化,散列结果中将有一半以上的 bit改变,这又叫做"雪崩效应(avalanche effect)";要实现使散列结果中出现 1bit的变化,则输入中至少有一半以上的 bit必须发生变化。