HSM KitHSM 工具箱
中文

哈希函数:MD5、SHA-256、BLAKE2 及使用场景

PKI 与证书# 哈希# SHA-256# MD5# BLAKE2
最后更新: 2026年4月3日5 分钟阅读By HSM Kit Team
现在需要计算吗?
使用我们免费的在线 哈希计算器 工具。

哈希函数在安全领域无处不在——从密码存储到区块链,从文件完整性到数字签名。本文解释哈希函数的工作原理、应该使用哪种算法以及哪些应该避免。

什么是密码学哈希函数?

哈希函数接受任意大小的输入,产生固定大小的输出(哈希值或摘要)。密码学哈希函数还具有以下特性:

  1. 确定性:相同输入始终产生相同输出
  2. 单向性:无法从哈希值反推输入
  3. 雪崩效应:输入微小变化 → 输出完全不同
  4. 抗碰撞性:在计算上不可能找到两个具有相同哈希值的输入

常用哈希算法

MD5 —— 已被破解,避免用于安全场景

  • 输出:128 位(32 个十六进制字符)
  • 状态:密码学上已被破解(碰撞可在秒级内找到)
  • 仍可用于:非安全校验和、遗留系统、文件去重
  • 绝不用于:密码存储、数字签名、安全关键应用

SHA-1 —— 已废弃

  • 输出:160 位(40 个十六进制字符)
  • 状态:已被破解(2017 年 SHAttered 攻击找到碰撞)
  • 已从 TLS 1.3 中移除
  • 绝不用于:新的安全应用

SHA-256 —— 现代安全的主力算法

  • 输出:256 位(64 个十六进制字符)
  • SHA-2 系列的一部分
  • 用于:比特币、TLS 证书、代码签名、JWT(HS256/RS256)
  • 状态:安全,广泛信任
  • 适用于:通用安全、数字签名、HMAC

SHA-384 / SHA-512 —— 更高安全性的 SHA-2

  • 输出:384 / 512 位
  • 在 64 位系统上比 SHA-256 更快
  • 用于:高安全性应用、政府系统
  • 状态:安全

SHA-3(Keccak)—— NIST 标准,不同设计

  • 输出:224/256/384/512 位
  • 与 SHA-2 完全不同的内部结构(海绵结构)
  • 作为 SHA-2 被破解时的备用方案设计
  • 状态:安全,部署不如 SHA-2 广泛

BLAKE2 —— 快速且安全

  • 输出:可变(最大 512 位)
  • 在现代硬件上比 MD5 更快,同时保持安全
  • 用于:WireGuard、密码哈希(Argon2 内部使用)
  • 状态:安全,推荐用于性能敏感场景

SM3 —— 中国国家标准

  • 输出:256 位
  • 中国政府和金融系统强制要求
  • 安全性与 SHA-256 相当
  • 状态:安全

哈希算法对比

算法输出速度安全性用途
MD5128 位极快已破解仅校验和
SHA-1160 位已破解仅遗留系统
SHA-256256 位良好通用
SHA-512512 位良好(64位)高安全性
SHA-3-256256 位中等SHA-2 备选
BLAKE2b512 位极快性能场景

HMAC——基于哈希的消息认证

HMAC(Hash-based Message Authentication Code)使用哈希函数和密钥提供认证

HMAC(密钥, 消息) = Hash((密钥 ⊕ opad) || Hash((密钥 ⊕ ipad) || 消息))

HMAC-SHA256 广泛用于:

  • API 认证(JWT HS256)
  • 支付系统中的消息完整性
  • TLS 记录认证

使用我们的 HMAC 计算器 计算 HMAC-SHA256/SHA512 值。

哈希函数在支付安全中的应用

在支付系统中,哈希用于:

MAC 算法

MAC(消息认证码)算法使用哈希函数验证消息完整性:

KCV(密钥校验值)

KCV 本质上是密钥的哈希——用密钥加密全零并取前 3 字节。参见 密钥分片与 KCV 指南

CVV 计算

CVV 使用类似哈希的基于 DES 的过程。参见 CVV 指南

密码哈希——特殊情况

普通哈希函数不适合存储密码,因为它们太快(攻击者每秒可以尝试数十亿次猜测)。

应使用专用密码哈希函数:

  • bcrypt:经过时间检验,广泛支持
  • Argon2:密码哈希竞赛获胜者,新系统推荐
  • scrypt:内存密集型,良好替代方案
  • PBKDF2:NIST 批准,用于许多标准

这些函数故意设计得慢且内存密集,以抵抗暴力破解攻击。

在线工具

使用我们的 哈希计算器 计算:

  • MD5、SHA-1、SHA-256、SHA-384、SHA-512
  • SHA-3(224/256/384/512)
  • BLAKE2b、BLAKE2s、BLAKE3
  • SM3、RIPEMD-160
  • 支持文本、十六进制或文件输入

所有计算完全在浏览器中运行。

相关工具
哈希计算器