哈希算法=映射规则,将任意长度的二进制值串映射为固定长度的二进制值串(哈希值)
要求?
- 单向:从哈希值不能反推出原始数据
- 对输入数据敏感
- 散列冲突的概率小
- 执行高效
应用一:安全加密
MD5(MD5 Message-Digest Algorithm,MD5信息摘要算法)SHA(Secure Hash Algorithm,安全散列算法)
权衡安全性&计算时间
应用二:唯一标识
对大数据做信息摘要,节选片段字节组成标识
应用三:数据校验
检测BT文件安全正确完整?对文件块分别取哈希值存入种子文件,对下载后的文件通过相同算法求哈希值对比
应用四:散列函数
更关注散列后的值能否平均分布&执行效率