无需上传、100% 本地处理、无需账户

哈希生成器

从任意文本或文件计算加密哈希值(MD5、SHA-1、SHA-256、SHA-512)。一切都在本地运行,无需上传。

哈希生成器 的工作原理

哈希生成器计算你输入的任何文本的加密和校验和哈希,涵盖 MD5、SHA-1、SHA-256 和 SHA-512。SHA 系列哈希使用浏览器原生的 Web Crypto API(SubtleCrypto.digest),这是经过验证的硬件加速实现。MD5 由独立的 JavaScript 实现计算,因为 SubtleCrypto 不包含 MD5(它对于新用途被认为不具备加密安全性)。你输入的内容不会被传输;每个哈希都完全在你的设备上生成。

常见用途包括根据已发布的校验和验证下载文件的完整性、生成用于缓存键或标识符的固定长度字符串指纹,或在不逐字符比较的情况下检查两个文本值是否相同。

哈希生成器 的分步使用说明

  1. 在输入区域中输入或粘贴你要哈希的文本。
  2. 所有哈希值在你输入时立即更新。
  3. 点击任意哈希旁的复制图标将其复制到剪贴板。
  4. 如果你只需要某些哈希类型,使用复选框选择特定算法。

常见使用场景

  • 开发者需要计算字符串的 SHA-256 哈希,以与服务器端 HMAC 签名进行调试比较。
  • 系统管理员下载软件包,并根据发布者公布的值验证其 MD5 或 SHA-256 校验和。
  • 数据库工程师使用 URL 字符串的短 SHA-1 哈希作为紧凑、抗冲突的缓存键。
  • 安全审查员检查两个配置文件是否具有相同的 SHA-512 哈希,以确认它们逐字节相同。

常见问题

此工具支持哪些哈希算法?

MD5、SHA-1、SHA-256 和 SHA-512。SHA-1、SHA-256 和 SHA-512 使用浏览器中 Web Crypto API 的 SubtleCrypto.digest 方法计算。MD5 使用单独的客户端 JavaScript 实现,因为 SubtleCrypto 不提供 MD5(它被排除在外,因为它在安全目的上已被破解,尽管它仍然对校验和有用)。

我输入的文本会被发送到服务器进行哈希吗?

不会。哈希在浏览器中本地运行。SHA-* 哈希使用 SubtleCrypto,这是一个完全在浏览器进程中运行的浏览器原生 API。MD5 哈希使用与页面捆绑的 JavaScript 库。你在这里输入的任何文本都不会离开你的浏览器标签页。

可以将此工具的 SHA-256 用于数字签名或 HMAC 吗?

此工具计算输入文本的原始哈希。HMAC 需要在哈希过程中混入密钥,这是此工具不做的。对于 HMAC-SHA-256,你需要在自己的代码中使用 Web Crypto API 的 SubtleCrypto.sign 方法,或包装它的库。

为什么 MD5 被描述为「不具备加密安全性」?

MD5 存在已知的碰撞漏洞:可以生成两个不同的输入产生相同的 MD5 哈希。这使其不适合安全关键用途,如密码存储或数字签名。它仍然广泛用于非安全校验和,例如验证文件在传输过程中未被损坏,这是完全有效的用例。

可以对文件而不是输入的文本进行哈希吗?

可以。切换到文件模式并选择一个文件:文件会被读取为 ArrayBuffer 并逐字节哈希,这正是发布的校验和所覆盖的内容。将二进制文件当作 UTF-8 文本读取会破坏其内容,这也是文件从不经过文本输入框的原因。与文本模式一样,文件始终保留在你的设备上。

需要账户吗?可以在手机上使用这个工具吗?

不需要账户。SubtleCrypto 是标准的浏览器 API,在手机版 Chrome 和 Safari 中与在桌面浏览器中一样可用,因此在手机上核对校验和的效果是一样的。