加密/哈希

Hash 计算器

计算 MD5、SHA1、SHA256 等哈希值

输入文本
算法:
哈希结果
MD5
等待输入...
SHA-1
等待输入...
SHA-256
等待输入...

什么是哈希(Hash)?

哈希函数是一种将任意长度的数据映射为固定长度输出的算法。哈希值(又称摘要、指纹)具有不可逆性,常用于数据完整性校验、密码存储和数字签名等场景。

支持的算法

  • MD5:128 位输出,速度快但已不推荐用于安全场景
  • SHA-1:160 位输出,已被发现碰撞漏洞
  • SHA-256:256 位输出,目前广泛使用的安全哈希
  • SHA-384:384 位输出,SHA-2 家族成员
  • SHA-512:512 位输出,最强的 SHA-2 变体

使用场景

  • 文件校验:验证下载文件的完整性
  • 密码存储:存储密码的哈希值而非明文
  • 数字签名:确保数据未被篡改
  • 数据去重:快速判断数据是否相同
  • 缓存键:生成唯一的缓存标识

安全建议

对于密码存储,建议使用专门的密码哈希算法(如 bcrypt、Argon2),而非通用哈希函数。MD5 和 SHA-1 已不建议用于安全敏感场景。

常见问题

应该选哪种哈希算法?
完整性校验和内容标识默认选 SHA-256。MD5 和 SHA-1 速度快但安全性已破,用于非对抗场景的校验尚可,绝不能用于签名或口令存储。
哈希值能被反推吗?
不能直接反推。哈希是单向的:相同输入必然得到相同输出,但输出不包含输入。弱口令仍可能被彩虹表命中,所以口令存储必须加盐并使用慢哈希(KDF)。
为什么我的哈希值和别的工具算出来的不一样?
检查三点:输入字节是否完全一致(末尾换行或 CRLF 都会改变结果)、文本编码是 UTF-8 还是 UTF-16、输出格式是十六进制还是 Base64。三点对齐后结果一定一致。