哈希生成器
支持 MD5、SHA-1、SHA-256 等多种哈希算法,结果可转换为不同进制
拖拽文件到这里或点击选择
计算结果
计算中...
HMAC 签名
带密钥哈希,适用于 API 签名与 Webhook 校验。填入待验签名即可比对验证。
HMAC 值
输入密钥和消息后自动计算 HMAC 值
常见问题
哈希值可以反解出原文吗?
不可以。哈希是单向函数,从哈希值无法还原出原始数据。验证方式是对比哈希值:对相同输入使用相同算法,如果哈希值一致则说明数据相同。
MD5 还安全吗?
MD5 已被证明存在碰撞漏洞(不同的输入可以产生相同的哈希值),不适合用于安全场景(如密码存储、数字签名)。建议使用 SHA-256 或更强的算法。MD5 目前主要用于文件校验等非安全场景。
SHA-256 和 SHA-512 有什么区别?
SHA-256 产生 256 位(32 字节)哈希值,SHA-512 产生 512 位(64 字节)哈希值。SHA-512 安全性更高但运算量更大。对于大多数应用,SHA-256 已经足够安全。
哈希和加密有什么区别?
哈希是单向的,无法从结果还原原文,常用于数据完整性校验。加密是双向的,使用密钥可以还原原文,常用于数据保密传输。
HMAC 和普通哈希有什么区别?
普通哈希(如 SHA-256)不需要密钥,任何人都能对相同输入算出相同结果,仅用于完整性校验。HMAC 是带密钥的哈希,只有持有密钥的一方才能生成或验证签名,常用于 API 签名(如 AWS SigV4)和 Webhook 校验(如 GitHub / Stripe),既能校验完整性又能确认来源。
为什么我的 Webhook 签名验证不通过?
常见三大坑:①密钥编码选错——若密钥本身是 Hex 或 Base64 字节串,需在「密钥编码」处选对应编码,不能当文本输入;②消息不是原文——Webhook 签名是对原始请求体字节算的,复制粘贴时若被格式化、加空格或转码就会对不上,建议从抓包工具取原始 body;③签名带了前缀——如 GitHub 的
sha256=,本工具会自动剥离 sha***= 前缀与首尾空白、容忍大小写,无需手动处理。为什么不支持 HMAC-MD5?
MD5 本身已不安全,HMAC-MD5 在实际工程中几乎不再使用,主流 Webhook 与 API 签名均采用 HMAC-SHA256 及以上。本工具仅支持 HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512,与 Web Crypto 原生能力一致。