SHA 哈希
本地处理计算文本或文件的 SHA 摘要,支持 HMAC 消息认证码。
0
使用指南
工具介绍
下载校验、接口签名、内容指纹都会用到 SHA 摘要。这个页面输入文本或选中文件,一次算出 SHA-1 / SHA-256 / SHA-384 / SHA-512 四种结果,需要签名时切到 HMAC 模式填入密钥即可得到带密钥的摘要。
普通摘要使用浏览器内置 WebCrypto,大文件 SHA-256 使用分块计算控制内存。密钥、待签的消息与文件都只留在本机,不会上传。
使用步骤
- 在文本模式输入待摘要的内容,四种 SHA 结果即时列出;或切到文件模式选择一个本地文件。
- 点任意一行右侧的「复制」,取走对应算法的小写十六进制摘要。
- 需要带密钥的签名时切到 HMAC 模式,填入消息与密钥,选择 SHA-256 或 SHA-512。
- 核对校验值时,把官方公布的摘要与这里的结果逐位比对(长度不同说明算法选错了)。
适用场景
- 下载了一个安装包,用官方公布的 SHA-256 核对文件有没有损坏或被替换。
- 对接第三方接口时需要计算请求签名,先在这里用同样的消息与密钥验证签名逻辑是否一致。
- 给两份配置做内容指纹,比对它们是否真的完全一致。
- 提交代码前确认文本在经过编辑器保存后没有被改写(换行符或末尾空格差异会直接改变摘要)。
常见问题
- 页面提示当前环境不支持 WebCrypto?
- WebCrypto(crypto.subtle)只在安全上下文中可用,也就是 https 或 localhost。若通过 http 的 IP 地址直接访问,浏览器会隐藏该接口。换用 https 访问即可,此时操作说明也会一并展开。
- 文件模式能处理多大的文件?
- 128 MiB 以内依次计算四种 SHA 摘要;更大的文件使用分块方式计算 SHA-256,并明确跳过需要整读的 SHA-1 / 384 / 512。计算过程中可以取消;需要逐项进度和预期值比对时,可使用「文件哈希校验」。
- HMAC 和普通摘要有什么区别?
- 普通摘要是对内容本身计算,任何人都能复算;HMAC 把密钥混进计算过程,只有持有同一密钥的一方能得到相同结果,因此可用于验证消息来源与完整性。本页支持 HMAC-SHA-256 与 HMAC-SHA-512 两种。
- SHA-1 还能用吗?
- SHA-1 已不具抗碰撞安全性,不再适合用于签名等安全场景,本页保留它只为兼容既有系统的校验值。新设计请直接使用 SHA-256 及以上。
- 能把 SHA 摘要直接用来存密码吗?
- 不能。哈希不可逆并不等于适合存密码:通用摘要算法没有加盐与慢哈希设计,容易被字典与彩虹表攻击。密码存储应使用 Argon2、scrypt 或 bcrypt 这类专用算法。
基本操作
- 输入文本或选择文件,自动计算四种 SHA 摘要
- HMAC 模式填入消息与密钥即可得到签名,算法可切换 SHA-256 / SHA-512
- 点击「复制」获取结果
输出约定
- 摘要与签名均为小写十六进制,无分隔符与前缀
- 文本与密钥按 UTF-8 编码后进摘要
- SHA-1 / SHA-256 / SHA-384 / SHA-512 摘要长度分别为 40 / 64 / 96 / 128 个十六进制字符
安全提示
- SHA-1 已不具抗碰撞安全性,仅兼容用途
- HMAC 密钥过弱(如短口令)不提升安全性,请使用足够长的随机密钥
- 哈希不可逆但不等于适合存密码:密码存储应使用 Argon2、scrypt 或 bcrypt
- 全部计算在浏览器本地完成,不会上传任何数据