UnitConv
哈希

哈希生成器

在浏览器中直接从文本计算 MD5 和 SHA 哈希

关于此工具

此哈希生成器完全在浏览器中从任意文本计算 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 摘要。哈希是输入的固定长度指纹:相同文本总是产生相同哈希,但即使改变一个字符也会产生完全不同的结果。开发者用哈希来校验下载和文件完整性(校验和)、构建缓存键和内容地址,以及为数据建立索引。SHA 系列由浏览器内置的 Web Crypto API 计算;MD5 通过轻量的内置实现提供,用于兼容旧式校验和。

使用方法

  1. 1 在框中输入或粘贴你要哈希的文本。
  2. 2 随着输入,五种哈希会即时计算。
  3. 3 在小写与大写十六进制输出之间切换。
  4. 4 点击任意哈希旁的复制按钮即可复制。

工作原理

你的文本首先被编码为 UTF-8 字节。SHA-1、SHA-256、SHA-384 和 SHA-512 摘要由浏览器的 Web Crypto API(crypto.subtle.digest)生成,与 HTTPS 和签名所用的是同一经过验证的实现,并以十六进制显示。Web Crypto 不提供 MD5,因此用一个小型内置 MD5 例程计算,以兼容旧式校验和。哈希是单向的:无法反推回原始文本。作为已知测试向量,"abc" 的 SHA-256 为 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。

常见问题

哈希和加密一样吗?

不一样。加密可用密钥还原;哈希是单向的,无法还原。哈希用于校验或标识数据,而非把数据保密以便日后恢复。

我该用哪种哈希?

凡涉及安全,请使用 SHA-256 或更强算法。MD5 和 SHA-1 在安全上已被攻破(碰撞可行),只应用于非安全校验和或兼容旧系统。

能从哈希恢复原始文本吗?

不能。哈希是单向函数,因此无法从输出推导出原始输入。较短或常见的输入有时可通过查找表猜出,因此密码需要加盐和慢速哈希。

我的文本会离开我的设备吗?

不会。哈希通过 Web Crypto API 和页内 MD5 例程在你的浏览器本地运行,因此你的输入绝不会被上传。

相关工具与用途

若要让数据在传输时变为文本安全,请使用 Base64 编码器。若要格式化和校验结构化数据,请参阅 JSON 格式化工具。若要查看字符编码,请试试 ASCII / Unicode 转换器。