Hash Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand Hash Generator

完全在你的浏览器中计算你粘贴的文本或所选文件的 MD5、SHA-1、SHA-256、SHA-384 或 SHA-512 摘要。

How it works

密码学哈希把任意长度的输入映射为固定长度的摘要——MD5 为 128 位,SHA-256 为 256 位——翻转输入中的一个比特,大约会改变输出的一半比特。该函数是单向的:没有任何运算能把它反着跑,因此要找到与某个摘要对应的输入,只能不断对候选值做哈希直到命中。SHA 摘要通过 crypto.subtle.digest 由浏览器 WebCrypto API 计算;WebCrypto 不提供 MD5,因此它由页面内的一份本地 RFC 1321 实现计算。所选文件会被直接读入 ArrayBuffer 并按字节哈希,因此不存在任何文本解码来改变它。

When to use it

  • 核对下载的文件是否与其旁边公布的 SHA-256 校验和一致。
  • 为缓存键、ETag 或去重生成稳定的内容指纹。
  • 复现服务器记录的某个摘要,确认双方哈希的是完全相同的字节。
  • 在不逐行比较的情况下判断两份配置数据或载荷是否不同。
  • 在学习摘要长度到底意味着什么时,对比 MD5 与 SHA-256 的输出。

Watch out for

  • MD5 和 SHA-1 在安全用途上已被攻破。两者都存在可实施的碰撞攻击——可以构造出摘要相同的两个不同输入——因此它们不得用于支撑签名、证书,或任何由攻击者挑选输入的校验。作为防范意外损坏的校验和,它们依然可用。
  • 快速哈希是处理密码的错误工具。SHA-256 的设计目标就是快,普通 GPU 每秒能算上十亿次。密码存储需要刻意放慢的函数:bcrypt、scrypt 或 Argon2id。
  • 哈希不是加密,而摘要也并不总是机密。摘要无法被逆转,但低熵的输入——电话号码、邮政编码、电子邮件地址——只要把每个候选值都哈希一遍再比对,几秒钟就能找出来。
  • 同样可见的文本可能产生不同的摘要。行尾多一个换行、用 CRLF 而不是 LF,或者带上 UTF-8 字节序标记,都会改变字节,从而改变哈希。请比较实际被编码的内容,而不是屏幕上看起来一样的东西。

Not the right tool for: 超大文件。所选文件会被一次性整体读入内存,因此几个 GB 的镜像会在算完之前先耗尽标签页。这类文件请在本地用 sha256sum、shasum -a 256 或 Get-FileHash 校验,它们从磁盘流式读取。

Frequently Asked Questions

MD5 现在还安全吗?

不安全。MD5 在密码学上已被攻破,不应用于密码哈希、数字签名这类安全敏感场景。它在校验和以及非安全用途的指纹计算中仍然有用。

我该用哪种哈希?

安全用途:SHA-256 或 SHA-512。一般校验和:任意一种都可以。安全用途请避免 MD5 和 SHA-1,它们存在已知的碰撞漏洞。

这是在我的浏览器里计算的吗?

是的,所有哈希运算都完全在你的浏览器中完成,SHA 使用 WebCrypto API,MD5 使用本地实现。你的数据不会离开你的设备。

How to Use Hash Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.