【C# 集合】Hash哈希函数 |散列函数|摘要算法

定义

哈希函数(英語:Hash function)又称散列函数散列函数摘要算法、单向散列函数散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个(哈希函数返回的值)称为指纹、哈希值哈希代码摘要散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。[1]好的散列函数在输入域中很少出现散列冲突

完美哈希函数 就是指没有冲突的哈希函数。

如今,散列算法也被用来加密存在数据库中的密码(password)字符串,由于散列算法所计算出来的散列值(Hash Value)具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码。

使用哈希函数为哈希表编制索引称为哈希分散存储寻址

哈希函数的特性

  • 单向散列函数(one-wayhash function),也就是通俗叫的哈希函数
  • 第一个特点:输入可以任意长度,输出是固定长度
  • 第二个特点:计算hash值的速度比较快
  • 第三个特点,防碰撞特性(Collisionresistance)
  • 第四个特点:隐藏性(Hiding)或者叫做单向性(one-way)
  • 第五点:谜题友好(puzzlefriendly)

【C# 集合】Hash哈希函数 |散列函数|摘要算法

 

上一篇:索引设计 《数据库高效优化》 p300


下一篇:Appium+Java自动化测试。