返回博客
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 攻击

选择正确的哈希函数

目的推荐

|-----|-----|

密码存储Argon2 或 bcrypt 文件完整性SHA-256 数字签名SHA-256 或 SHA-512 非安全校验和MD5 或 CRC32

使用我们的哈希生成器工具即时计算任何文本的哈希值。