Hash算法的作用
知识百科 2025年09月12日 17:15:33
Hash算法的作用
什么是Hash算法?Hash算法,简称散列算法,也成哈希算法(英译),是将一个大文件映射成一个小串字符。与指纹一样,就是以较短的信息来保证文件的唯一性的标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。
Hash算法的特点
正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。
逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能)逆推出明文。
输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。
冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突)。即对于任意两个不同的数据块,其hash值相同的可能性极小;对于一个给定的数据块,找到和它hash值相同的数据块极为困难。
Hash算法在信息安全方面的作用
(1) 文件校验
我们比較熟悉的校验算法有奇偶校验和CRC校验,这2种校验并没有抗数据篡改的能力,它们一定程度上能检測并纠正传输数据中的信道误码,但却不能防止对数据的恶意破坏。
MD5 Hash算法的”数字指纹”特性,使它成为眼下应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。
(2) 数字签名
Hash 算法也是现代password体系中的一个重要组成部分。因为非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。 对 Hash 值,又称”数字摘要”进行数字签名,在统计上能够觉得与对文件本身进行数字签名是等效的。并且这种协议还有其它的长处。
(3) 鉴权协议
例如以下的鉴权协议又被称作挑战–认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。
常见Hash算法
MD5:已不安全(易碰撞),仅用于校验。
SHA系列:SHA-1(不安全)、SHA-256(广泛使用)、SHA-3(新一代标准)。
国密SM3:我国自主设计的哈希算法,安全性与SHA-256相当,适用于政务、金融领域。
BLAKE2:高性能哈希算法,适用于大数据场景。