拖拽文件到此处,或点击选择文件
支持任意类型文件,所有计算在浏览器本地完成
哈希(Hash)函数是将任意长度的数据映射为固定长度摘要(Digest)的数学算法。它具有以下核心特性:
本工具支持以下五种哈希算法:
MD5:输出128位(32个十六进制字符),由Ronald Rivest设计,是最早广泛使用的哈希算法之一SHA-1:输出160位(40个十六进制字符),由NSA设计,曾用于TLS证书和GitSHA-256:输出256位(64个十六进制字符),SHA-2家族成员,当前最常用的安全哈希算法SHA-384:输出384位(96个十六进制字符),SHA-2家族成员,提供更高安全裕度SHA-512:输出512位(128个十六进制字符),SHA-2家族成员,在64位系统上性能优异其中 SHA-256/384/512 使用浏览器原生 Web Crypto API(SubtleCrypto)计算,性能优异;MD5 和 SHA-1 使用纯 JavaScript 实现。
| 特性 | MD5 | SHA-1 | SHA-256 | SHA-384 | SHA-512 |
|---|---|---|---|---|---|
| 摘要长度 | 128位 / 32字符 | 160位 / 40字符 | 256位 / 64字符 | 384位 / 96字符 | 512位 / 128字符 |
| 分组大小 | 512位 | 512位 | 512位 | 1024位 | 1024位 |
| 轮数 | 64 | 80 | 64 | 80 | 80 |
| 安全性 | ⚠️ 已破解 | ⚠️ 已破解 | ✅ 安全 | ✅ 安全 | ✅ 安全 |
| 碰撞攻击 | 可行 | 可行 | 暂无 | 暂无 | 暂无 |
| 推荐用途 | 校验/去重 | 校验/去重 | 安全用途 | 安全用途 | 安全用途 |
MD5和SHA-1已被证明存在碰撞攻击(Collision Attack)漏洞,即可以找到两个不同的输入产生相同的哈希值。因此:
bcrypt、scrypt、Argon2本工具所有计算在浏览器本地完成,数据不上传服务器,适合处理敏感数据。
在输入框中输入或粘贴需要计算哈希的文本,工具会实时计算并显示 MD5、SHA-1、SHA-256、SHA-384、SHA-512 五种哈希值。点击右侧的复制按钮即可将对应哈希值复制到剪贴板。如果需要计算文件的哈希值,可以点击「选择文件」按钮上传本地文件,支持任意格式。
HMAC 模式需要输入密钥,适用于需要验证消息来源和完整性的场景。在「HMAC 密钥」输入框中填入密钥后,工具会自动计算 HMAC 结果。哈希对比功能可以输入两个哈希值,工具会自动比较它们是否一致,并以颜色标识结果。
对于大文件,计算可能需要几秒钟时间,请耐心等待。所有计算均在浏览器本地完成,不会上传文件到服务器,因此可以放心处理包含敏感信息的文件。
哈希生成器最常见的用途是验证文件完整性。从官网下载软件、固件或镜像后,计算本地文件的 SHA-256 值并与官方公布的哈希值对比,可以确保文件在传输过程中未被篡改或损坏。这在下载开源软件、操作系统镜像时尤为重要。
开发人员常用哈希来检测代码重复或缓存失效。例如,在构建工具中,通过计算文件内容的哈希值作为缓存键,当文件内容变化时哈希值自动改变,从而触发重新构建。运维人员也常使用 MD5 或 SHA-256 来比对不同服务器上的配置文件是否一致。
哈希函数的核心设计目标包括:确定性(相同输入必得相同输出)、快速计算、雪崩效应(微小输入变化导致输出完全不同)和单向性(无法从输出反推输入)。现代安全哈希算法如 SHA-256 属于 Merkle-Damgård 结构,通过多轮压缩函数处理输入数据。
需要注意的是,MD5 和 SHA-1 已被密码学家证明存在碰撞漏洞,即可以构造出两个不同文件产生相同哈希值。因此,在安全敏感场景(如数字签名、SSL 证书)中必须使用 SHA-256 或更高级别的算法。对于密码存储,单纯使用哈希是不够的,应该使用 bcrypt、scrypt 或 Argon2 等专用密码哈希函数,它们会自动进行加盐和迭代,大幅提高破解难度。
MD5和SHA-1已被证明存在碰撞攻击漏洞,不应用于数字签名、证书等安全敏感场景。但在文件完整性校验、数据去重等非安全场景中仍可使用。对于安全用途,请选择SHA-256或更高版本。
不可以。哈希函数是单向函数,无法从哈希值反推出原始数据。但可以通过彩虹表或暴力破解尝试常见输入的哈希值。对于密码存储,应使用加盐哈希或专用密码哈希函数(如bcrypt)。
哈希函数是确定性算法,相同输入永远产生相同输出。这是哈希的基本特性,确保了文件完整性校验的可靠性——只要文件内容有一比特变化,哈希值就会完全不同(雪崩效应)。
普通哈希不涉及密钥,任何人都可以计算。HMAC(哈希消息认证码)使用密钥对消息进行哈希,只有持有密钥的方才能计算和验证。HMAC既保证了数据完整性,又保证了消息的真实性(来自特定发送者)。
下载文件后,使用本工具计算文件的哈希值(推荐SHA-256),然后与官方提供的哈希值进行对比。如果两者一致,说明文件在传输过程中没有被篡改。本工具的"哈希对比"功能可以自动比较两个哈希值。
两者都是安全的哈希算法。SHA-512在64位系统上计算速度通常更快,但生成的哈希值更长(128字符 vs 64字符)。对于大多数应用,SHA-256是推荐选择——它在安全性和性能之间取得了良好平衡,且被广泛支持。如果需要更高级别的安全裕度,可选择SHA-512。