哈希值的性质:
所有哈希函数都具有以下基本性质:如果两个哈希值不相同(根据同一个函数),那么这两个哈希值的原始输入也是 不一样。
该性质是确定性散列函数的结果,具有该性质的散列函数称为单向散列函数。 但另一方面,一个哈希函数的输入和输出并不是唯一对应的,如果两个哈希值相同,那么两个输入值很可能相同。
但也可以不同,这种情况称为“哈希冲突”,通常是两个不同长度的输入值故意计算出相同的输出值。
输入一些数据计算一个哈希值,然后对输入值进行部分改变,具有强混淆特性的哈希函数会产生完全不同的哈希值。
典型的散列函数具有非常大的域,例如,SHA-2 接受长度为 (2-1)/8 的字节串。 同时,哈希函数必须有一个有限的取值范围,比如一个固定长度的位串。
在某些情况下,散列函数可以设计为相同大小的域和范围之间的单射。 散列函数必须是不可逆的。
哈希值,又名:散列函数是一种从任何类型的数据创建小型数字“指纹”的方法。 哈希函数将消息或数据压缩成摘要,使数据量更小,并固定数据的格式。 此函数对数据进行混洗并重新创建称为哈希值的指纹。 哈希值通常由一串随机字母和数字组成。 好的散列函数在输入域中很少有散列冲突。 在哈希表和数据处理中,不抑制冲突来区分数据会使数据库记录更难找到。