哈希计算
MD5 / SHA-1 / SHA-256 / SHA-512 四种摘要算法,本地计算不上传。
什么是哈希计算?
哈希(Hash)也叫散列、摘要,是把任意长度的数据通过哈希函数压缩成固定长度十六进制串的过程。它有三个基本特性:输出长度固定(MD5 为 128 位 32 个十六进制字符,SHA-1 为 160 位,SHA-256 为 256 位,SHA-512 为 512 位);相同输入永远得到相同输出;输入稍有变化输出就会完全不同。哈希不可逆,无法从摘要还原原文。
哈希最常见的用途是校验数据完整性:下载软件时比对官方提供的 MD5 或 SHA-256 值,确认文件没有损坏或被篡改;密码存储时先加盐再哈希;以及缓存、去重等场景。MD5 与 SHA-1 已被证明存在碰撞攻击,仅建议用于非安全场景的完整性校验;安全相关场景请使用 SHA-256 或 SHA-512。本工具的 MD5 由原生 JavaScript 实现标准算法,SHA 系列调用浏览器内置 Web Crypto API,全部在本地完成计算。
使用步骤
- 将需要计算哈希的文本粘贴到输入框;
- 点击「MD5」「SHA-1」「SHA-256」或「SHA-512」选择算法;
- 摘要立即显示在结果区,可切换算法多次计算;
- 点击「复制」按钮将摘要一键复制到剪贴板。
常见问题
MD5 和 SHA-256 有什么区别?
MD5 产生 128 位摘要、速度快但已被证明存在碰撞,不适合安全场景;SHA-256 产生 256 位摘要,抗碰撞性强,是目前最常用的安全哈希。校验文件完整性用 MD5 即可,安全相关场景请使用 SHA-256 或 SHA-512。
哈希是加密吗?
不是。哈希是单向摘要,不可逆,无法从摘要还原原文;加密是可逆的。两者用途完全不同,哈希常用于校验数据完整性。
同一个文本多次计算结果一样吗?
一样。哈希函数是确定性的,相同输入永远得到相同摘要,这也是它被用来比对下载文件校验值(如 MD5)的原因。
SHA 系列算法需要联网吗?
不需要。浏览器内置的 Web Crypto API 在本地完成计算,输入不会上传。但该 API 仅在 https 或 localhost 等安全上下文中可用,若提示不可用,请使用 https 方式访问本站。