什么是哈希算法?
哈希算法(Hash Algorithm)是一种将任意长度的数据映射为固定长度的二进制串的算法。这个映射过程是单向的,即无法从哈希值反推出原始数据。
常见哈希算法
MD5: 产生128位(16字节)的哈希值,曾被广泛使用,但现在已被认为不安全。
SHA-1: 产生160位(20字节)的哈希值,也已被证明存在弱点。
SHA-2: 包括SHA-224, SHA-256, SHA-384, SHA-512等,目前被认为是安全的,广泛应用于安全协议中。
SHA-3: 新一代哈希标准(Keccak),提供更高的安全性。
RIPEMD-160: 产生160位哈希值,常用于比特币地址生成。
SM3: 中国国家密码管理局发布的商用密码杂凑算法,产生256位哈希值。
应用场景
数据完整性校验: 验证文件在传输过程中是否被篡改。
密码存储: 存储用户密码的哈希值而非明文。
数字签名: 结合公钥加密技术实现数字签名。