Hash函数(散列函数)

说明

Hash,一般翻译做散列、杂凑,或音译为哈希

把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。

特点

  • 不可逆。不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值
    不可能通过逆操作和 Hash 值还原出原始值
  • 输入改变,输出必然改变。即使改变一个字节,输出也会变化很大

实现

方法

直接定址法、数字分析法、平方取中法、折叠法、随机数法、除留余数法等

相关算法

Hash算法是一个广义的算法,也可以认为是一种思想

实现该思想的主流算法有:MD4、MD5、sha1、sha256、sha512

应用场景