五种算法同时计算
MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 一起计算,你无需猜测某个项目发布的是哪一种。
为文本或文件生成 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 摘要,用 HMAC 签名消息,并用已发布的校验和核对下载的文件。
所有算法会同时处理你文本的 UTF-8 字节,方便并排比较各个摘要。
校验和文件和大多数命令行工具输出的都是十六进制。Base64 常见于 HTTP 请求头,base64url 则去掉了填充,适合用于 URL 和 JWT。
粘贴已发布的校验和,即可一次性与所有摘要比对,三种编码均可。
43 个字符 · 43 字节 UTF-8
–
仅适用于校验和与旧系统兼容:碰撞已可实际构造。
–
Git 对象 ID 和旧系统:碰撞已被实际证明。
–
完整性校验、签名和文件校验和的默认选择。
–
截断为 384 位的 SHA-512,常见于 TLS 密码套件。
–
这里摘要最长的算法;在 64 位硬件上比 SHA-256 更快。
Web Crypto 与本地 MD5 · 不上传 · 不存储
哈希能把任意数量的数据转换为固定长度的摘要。只要改动一个字节,摘要就会彻底改变,正因如此,它可以用来检测数据损坏和篡改。
输入文本即可按 UTF-8 计算哈希,拖入文件即可在本地计算校验和,也可以切换到 HMAC,用密钥为消息签名。
用于校验和文件和命令行比对时,以十六进制查看摘要;用于请求头、令牌和 URL 时,则选择 Base64 或 base64url。
复制任意摘要,或粘贴已发布的校验和,让工具告诉你它与哪种算法匹配。
MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 一起计算,你无需猜测某个项目发布的是哪一种。
无需上传即可验证下载的安装程序、压缩包或 ISO 镜像,最大 512 MB。字节在标签页中读取后即被丢弃。
粘贴预期值后,工具会自动在三种编码下与每个摘要比对,并忽略空白字符和冒号。
使用 SHA-1、SHA-256、SHA-384 或 SHA-512 以密钥签名消息,与 Webhook 服务商采用的构造方式相同。
MD5 和 SHA-1 已存在实际可行的碰撞,因此被标为旧版。它们仍可用于校验和与旧系统。
SHA 哈希和 HMAC 使用 Web Crypto API,MD5 在本地 JavaScript 中运行。任何文本、文件或密钥都不会被传输。
除非有特定要求,否则请使用 SHA-256;它是完整性校验和签名的现代默认选择。SHA-512 也是不错的替代方案,在 64 位硬件上通常更快。只有当现有系统发布的是 MD5 或 SHA-1 时才使用它们。
这两种算法都存在实际可行的碰撞攻击,也就是说,攻击者可以构造出摘要相同的两个不同输入。因此它们不再适用于签名和防篡改检测,但仍可用于发现意外损坏,以及与旧工具保持兼容。
不可以。普通哈希的计算速度太快,而这正是破解密码成本低廉的原因。密码需要使用 bcrypt、scrypt 或 Argon2 等加盐的慢速算法,并在你的服务器上执行。
不会。文件被读入浏览器标签页的内存,通过 Web Crypto API 或本地 MD5 实现计算哈希,绝不会发送到服务器。关闭标签页即会将其丢弃。
这里的上限是 512 MB,以保证标签页流畅响应。超大文件会被完整读入内存,因此内存较小的设备可能远未达到上限就已吃力。
哈希只取决于消息本身,任何人都能重新计算。HMAC 还混入了密钥,因此只有持有该密钥的人才能生成或验证签名。这就是 Webhook 服务商使用 HMAC 来证明请求确实来自他们的原因。
几乎都是编码差异造成的。本工具对你输入内容的精确 UTF-8 字节计算哈希。末尾多一个换行、换行符不同或字符编码不同,都会让摘要彻底改变。
探索不断扩充的工具合集,涵盖计算、文档、写作和日常工作。