切换工具

Hash 生成器

MD5 / SHA1 / SHA256 / SHA512 摘要,可对文本与文件计算。

输入
0 chars · 1 lines
MD5
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
SHA3-512
RIPEMD-160

使用说明

用途

哈希值在线生成器,支持 MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA-3、SHA3-256、SHA3-512、CRC32 等主流摘要算法。对文本字符串、文件、HMAC(带密钥)三种输入计算哈希。常用于校验文件完整性(下载校验和)、密码摘要存储(加盐 + SHA-256)、API 签名(HMAC-SHA256)、内容指纹(去重判断)等场景。所有计算在浏览器本地完成,密码或敏感内容不会上传。

操作步骤

  1. 选输入模式:文本 / 文件 / HMAC(带密钥)
  2. 选算法:MD5(不推荐用于安全场景)/ SHA-256(最常用)/ SHA-512 / SHA-3 / CRC32 等
  3. 文本模式:粘贴或输入字符串,实时显示哈希
  4. 文件模式:拖入文件计算哈希,大文件用 Web Worker 流式读取不卡
  5. HMAC 模式:除内容外还要输入 secret key,常用于 API 签名验证
  6. 编码字符集:UTF-8(默认)/ ASCII / GBK(影响中文哈希结果)
  7. 大小写:哈希结果可切换大写 / 小写显示
  8. 同时计算多个算法:可一次性输出 MD5 / SHA-1 / SHA-256 三栏对比

常见问题

MD5 还能用吗?为什么大家说不安全?
MD5 仍可用于非安全场景:文件完整性校验(防止传输错误)、内容指纹(去重判断)、缓存 key 生成。但密码摘要、数字签名、防篡改证书等场景禁用 MD5 —— 它存在碰撞攻击(不同输入生成相同哈希)。这些场景请用 SHA-256 或更强算法。
同样的字符串为什么哈希结果和别人不一样?
通常是字符编码差异。"hello" 这种纯 ASCII 大家结果都一样;含中文时 UTF-8 编码的"中国"和 GBK 编码的"中国"是不同字节序列,哈希自然不同。本工具默认 UTF-8,切换字符集对比看看。也可能是换行符差异(CRLF vs LF)。
哈希能反向解密恢复原文吗?
不能。哈希是单向函数,理论上不可逆。但短密码 / 弱密码可以通过彩虹表(预计算大量明文-哈希对照)反查,所以密码存储必须加盐:hash(salt + password),每个用户用不同盐。MD5 / SHA-1 弱密码在彩虹表里几乎都能查到。
HMAC 是什么?跟普通 hash + key 拼接有什么区别?
HMAC 是带密钥的消息认证码,结构是 hash(key XOR opad || hash(key XOR ipad || message)),防御了 length extension 攻击。普通 hash(key + message) 在 MD5 / SHA-1 / SHA-2 上有 length extension 漏洞(攻击者可在不知 key 的情况下追加内容),HMAC 没有这个问题。API 签名一定要用 HMAC。
校验下载文件的哈希怎么用?
官方网站会公布文件 SHA-256 / SHA-512 校验和。下载后用本工具的「文件模式」拖入文件,对比计算出的哈希和官网公布的是否一致。一致说明文件完整无篡改;不一致可能是传输错误或被中间人替换。

应用场景

  • 校验下载文件:从官网下载安装包后对比 SHA-256 防篡改
  • API 签名生成 / 验证:HMAC-SHA256 对请求参数签名,后端验证防 replay
  • 密码摘要:用户密码不存明文,存 SHA-256(salt + password) 防泄漏
  • 内容指纹:判断两份内容是否相同,用 hash(content) 对比比逐字节快
  • 缓存 key:复杂查询条件用 hash 生成短 key,存 Redis 或浏览器缓存

适用场景

校验下载文件完整性、API HMAC 签名、密码加盐摘要、内容指纹去重、缓存 key 生成。开发、运维、安全工程师常用。多算法对比、HMAC 模式、文件流式哈希是关键差异点。注意 MD5 不能用于安全场景。