计算任意文本的 SHA 哈希
用 Web Crypto API 计算密码学摘要。这里故意没有 MD5——浏览器没有实现它,而且它在任何跟安全相关的场景下已经不安全二十年了。
这里没有 MD5 —— Web Crypto API 没有实现它,而且它在任何跟安全相关的场景下本来也已经不安全了。
SHA-256 摘要
常用预设
每一个都有自己的页面,说明这个要求是从哪来的、结果会是什么样。
如何使用
- 1把要计算哈希的文本粘进输入框。
- 2选算法:SHA-1、SHA-256、SHA-384 或 SHA-512。
- 3摘要以小写十六进制实时渲染——用复制按钮拿走。
常见问题
- 为什么没有 MD5?
- 两个原因,任何一个都够。浏览器的 Web Crypto API 没实现它;而且它已经破了二十年——一台笔记本就能造出碰撞。要核对老的校验值得换别的工具;今天在选算法,就别选它。
- 该用哪个算法?
- 没有特别规定的话就用 SHA-256。SHA-384 和 SHA-512 更强,在 64 位硬件上也不更慢。SHA-1 放在这里只是为了读老系统——从 2017 年起它用于签名已被认为不安全。
- 哈希能被反推回去吗?
- 没法直接求逆。但哈希是确定性的,短的或常见的输入在查表面前立刻就破了。所以密码需要的是 bcrypt、Argon2 这类加盐的慢算法,而不是一个裸的 SHA 摘要。
- 为什么我算出来的哈希和服务器的不一样?
- 几乎总是字节没对齐。末尾多一个换行、行尾是 CRLF 而不是 LF、文本编码不同,都会得到完全不同的摘要。这个页面算的是框里内容的 UTF-8 字节,一个字节都不多加。