hash 2025-01-30
密码学哈希函数解析
了解密码学哈希函数的工作原理、属性,以及何时使用 MD5、SHA-256 或 bcrypt。
密码学哈希函数是现代安全系统的基本构建块。它们将任意数据转换为固定大小的输出,充当数字指纹。
密码学哈希函数的属性
好的密码学哈希函数具有以下属性:
1. 确定性:相同的输入总是产生相同的输出
2. 快速计算:对任何输入都能快速计算哈希
3. 原像抗性:无法逆向哈希找到输入
4. 碰撞抗性:极难找到具有相同哈希的两个不同输入
5. 雪崩效应:小的输入变化导致剧烈的输出变化
常见哈希算法
MD5(128 位)
- 状态:已破解,不安全
- 用途:文件校验和、遗留系统
SHA-256(256 位)
- 状态:安全,广泛使用
- 用途:数字签名、区块链、文件完整性
密码用哈希函数
永远不要单独使用 MD5、SHA-1 或 SHA-256 进行密码哈希! 它们太快了,使暴力攻击可行。
bcrypt
- 包含内置盐值
- 可配置工作因子
Argon2(PHC 2015 冠军)
- 可配置内存、时间和并行性
- 抵抗 GPU 和 ASIC 攻击
选择正确的哈希函数
|-----|-----|
使用我们的哈希生成器工具即时计算任何文本的哈希值。