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)、内容指纹(去重判断)等场景。所有计算在浏览器本地完成,密码或敏感内容不会上传。
操作步骤
- 选输入模式:文本 / 文件 / HMAC(带密钥)
- 选算法:MD5(不推荐用于安全场景)/ SHA-256(最常用)/ SHA-512 / SHA-3 / CRC32 等
- 文本模式:粘贴或输入字符串,实时显示哈希
- 文件模式:拖入文件计算哈希,大文件用 Web Worker 流式读取不卡
- HMAC 模式:除内容外还要输入 secret key,常用于 API 签名验证
- 编码字符集:UTF-8(默认)/ ASCII / GBK(影响中文哈希结果)
- 大小写:哈希结果可切换大写 / 小写显示
- 同时计算多个算法:可一次性输出 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 不能用于安全场景。