Hash 生成器
MD5 · SHA-1 · SHA-256 · SHA-512 · HMAC · CRC32 — 文本与文件哈希计算
输入文本
0 字符
0 字节
拖拽文件到此处,或点击上传
支持任意文件类型,浏览器本地处理不上传服务器
VS
—
请输入原始 Hash 进行对比
需输入密钥,使用 HMAC-SHA256 / HMAC-SHA512
MD5
—
SHA-1
—
SHA-256
—
SHA-512
—
CRC32
—
快速说明
Hash(哈希)是将任意长度数据映射为固定长度字符串的算法,广泛用于数据校验、密码存储、文件完整性验证等场景。
算法对比
- MD5:128位,速度快,已被证明有碰撞漏洞,不推荐用于安全场景
- SHA-1:160位,比 MD5 安全,但也已被攻破,逐步淘汰中
- SHA-256:256位,目前最广泛使用的安全哈希算法,推荐用于大多数场景
- SHA-512:512位,更高安全级别,适合高安全需求场景
- HMAC:带密钥的哈希,用于消息认证,防止篡改
- CRC32:32位,仅用于错误检测,不用于安全
使用场景
- 文件校验:下载文件后对比 Hash,确认文件未被篡改
- API 签名:使用 HMAC 对请求参数签名,验证请求合法性
- 数据去重:用文件 Hash 快速判断文件是否重复
- 密码存储:存储密码哈希而非明文(实际应加盐)
常见问题
文件 Hash 计算安全吗?文件会上传吗?
完全安全。所有计算在浏览器本地完成,文件不会被上传到任何服务器。你可以断开网络后继续使用。
大文件支持吗?
支持。使用流式读取方式,再大的文件也能计算,不会导致浏览器崩溃。实际限制取决于设备内存。
HMAC 和普通 Hash 有什么区别?
HMAC(Hash-based Message Authentication Code)需要密钥参与计算。即使攻击者知道使用的 Hash 算法,不知道密钥也无法伪造正确的 HMAC 值,常用于 API 请求签名验证。
MD5 还能用吗?
MD5 已不推荐用于安全相关场景(如密码、证书),因为已被证明存在碰撞攻击。但用于非安全场景(如文件快速去重、缓存 key)仍然可用。