哈希生成器
本地处理 · 数据不上传从任意文本即时生成 MD5、SHA-1、SHA-256 与 SHA-512 哈希——全程本地处理。
哈希生成器是什么?
哈希生成器可对你输入或粘贴的任意文本一次性计算 MD5、SHA-1、SHA-256 和 SHA-512 哈希,全程在浏览器中完成。只要开始输入,每个哈希都会实时更新,方便你复制需要的那一种摘要。
哈希是任意输入的定长“指纹”。哈希函数接收任意长度的数据,确定性地输出一段简短的字节串——相同输入永远得到相同输出,而哪怕只改动一个字符,结果也会完全不同。由于输出长度固定且映射是单向的,哈希非常适合在不存储或不传输原始数据的情况下进行比较、索引与校验。本工具以小写十六进制字符串呈现结果,这也是大多数系统和命令行工具默认使用的格式。
四种算法在长度和强度上各不相同。MD5 产生 128 位(32 个十六进制字符)摘要,SHA-1 产生 160 位(40 个字符)摘要;两者速度快,但已被认为在密码学上不安全,因为存在可行的碰撞攻击,所以绝不能用于密码、数字签名或任何安全相关的判断。它们仍适合非安全用途,如快速校验和、缓存键或检测意外改动。SHA-256(256 位、64 个字符)与 SHA-512(512 位、128 个字符)属于 SHA-2 家族,目前没有已知的可行弱点;只要真正涉及完整性或真实性,就应优先选择 SHA-256 或更强的算法。
常见用途包括:校验下载的文件是否与公布的校验和一致、为某段内容生成稳定的指纹、构建去重或缓存键,以及在不暴露原值的情况下比较两个值。这里的一切都通过 Web Crypto API(加上一个自包含的 MD5 实现)在本地运行,你的输入不会离开设备、不会发送到服务器——因此即便处理敏感文本也很安全。
常见问题
MD5 安全吗?
不安全。MD5 在密码学上已被攻破——可行的碰撞攻击让攻击者能构造出哈希相同的两个不同输入。切勿将 MD5 用于密码、签名或任何安全用途,请改用 SHA-256 或更强的算法。MD5 只适合检测文件意外损坏这类非安全场景。
我该选哪种算法?
凡是涉及安全或完整性的场景,请使用 SHA-256(或 SHA-512)。MD5 和 SHA-1 虽快但已被攻破,仅适合简单校验和、缓存键等非安全用途。
我的文本会上传到服务器吗?
不会。所有哈希计算都使用 Web Crypto API 和内置的 MD5 实现在浏览器本地完成,你的输入不会离开设备。
为什么 SHA-512 的哈希比其他的长?
长度对应输出的位数:MD5 为 128 位(32 个十六进制字符),SHA-1 为 160 位(40 个),SHA-256 为 256 位(64 个),SHA-512 为 512 位(128 个)。摘要越长,输出空间越大,抗碰撞能力越强。
可以对文件而不是文本计算哈希吗?
本工具对文本输入计算哈希。若要对文件计算,可将其内容以文本粘贴进来,或使用 sha256sum 等命令行工具。对文件原始字节的哈希功能未来可能会加入。