哈希函数是一种将任意长度的输入数据映射为固定长度输出的数学函数。它具有单向性、确定性、抗碰撞性等特性,是密码学中的重要基础工具。
核心特性
- 单向性:从哈希值无法反推出原始输入
- 确定性:相同输入总是产生相同输出
- 抗碰撞性:难以找到两个不同的输入产生相同的哈希值
- 雪崩效应:输入的任何微小变化都会导致输出的巨大变化
- 固定长度输出:无论输入长度如何,输出长度固定
哈希函数工作流程
哈希函数分类
| 类型 | 特点 | 应用场景 |
|---|
| 密码学哈希函数 | 安全性高,计算复杂 | 数字签名、密码存储 |
| 非密码学哈希函数 | 计算快速,安全性较低 | 数据校验、查找表 |
| 消息认证码 | 带密钥的哈希函数 | 消息认证、完整性验证 |