说明
Hash,一般翻译做散列、杂凑,或音译为哈希
把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。
特点
- 不可逆。不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值
不可能通过逆操作和 Hash 值还原出原始值
- 输入改变,输出必然改变。即使改变一个字节,输出也会变化很大
实现
方法
直接定址法、数字分析法、平方取中法、折叠法、随机数法、除留余数法等
相关算法
Hash算法是一个广义的算法,也可以认为是一种思想
实现该思想的主流算法有:MD4、MD5、sha1、sha256、sha512
应用场景
文件校验。校验文件是否被篡改。好多下载页面都提供文件的hash值,如:https://tomcat.apache.org/download-80.cgi
鉴权协议
