哈希计算
哈希函数(Hash Function)将任意长度的输入数据映射为固定长度的输出(摘要),是密码学和数据完整性校验的基础工具。SHA-256 用于 API 签名和区块链,MD5 用于文件校验,SHA-512 用于密码哈希——不同的场景需要不同的算法。这个工具在浏览器本地计算五种主流哈希值,你的数据不会离开设备。
支持 MD5、SHA-1、SHA-256、SHA-384、SHA-512 五种算法,实时计算,支持大小写输出切换。注意:MD5 和 SHA-1 已被证明存在碰撞漏洞,不应用于安全场景;密码存储请使用 bcrypt/argon2 等专用算法,而非裸哈希。
📖 哈希计算工具使用说明
什么是哈希函数?
哈希函数(Hash Function)是一类数学算法,它将任意长度的输入数据映射为固定长度的输出(称为摘要、哈希值或指纹)。哈希函数的核心特性:确定性(相同输入永远得到相同输出)、单向性(无法从哈希值反推原始输入)、雪崩效应(输入改动一个 bit,输出至少一半不同)。这三个特性使哈希成为数据完整性校验的基础。五种算法对比
- MD5(128 位):输出 32 位十六进制字符串。速度快但已被破解——存在碰撞漏洞,两个不同文件可生成相同 MD5。不应用于安全场景,但仍广泛用于文件校验和(如软件下载站的校验码)。
- SHA-1(160 位):输出 40 位十六进制。2017 年 Google 公布首个 SHA-1 碰撞攻击(SHAttered)。Git 仍用 SHA-1 作为对象标识符,但已向 SHA-256 过渡。不推荐用于新项目。
- SHA-256(256 位):输出 64 位十六进制。SHA-2 家族中最常用的算法。比特币挖矿、TLS 证书、API 签名(HMAC-SHA256)均使用此算法。目前认为安全。
- SHA-384(384 位):SHA-512 的截断版,输出 96 位十六进制。安全性介于 SHA-256 和 SHA-512 之间,在某些平台上比 SHA-512 更快。
- SHA-512(512 位):输出 128 位十六进制,哈希值最长。适用于高安全要求场景,但计算开销更大。在 64 位 CPU 上效率比 SHA-256 更高。
⚠️ 安全提醒
MD5 和 SHA-1 已被破解,不应用于任何安全场景。对于密码存储,不要直接使用 SHA 哈希——应使用 bcrypt、scrypt 或 Argon2 等专门的密码哈希算法(它们内置了加盐和多次迭代)。SHA-256 适用于 API 签名、文件完整性校验、证书验证等场景,但不适用于密码存储。
命令行替代方案
# Linux/macOS
sha256sum file.txt
echo -n "hello" | sha256sum
md5sum file.txt
# macOS 专用
shasum -a 256 file.txt
md5 file.txt