- SHA1
- - SHA256
- - SHA384
- - SHA512
-
使用 SubtleCrypto — 需要安全上下文(https 或 localhost)。
功能
一次性计算出你的文本的四种哈希摘要 - SHA-1、SHA-256、SHA-384 和 SHA-512 - 边输入边实时更新。每行显示算法、它的十六进制摘要和各自的复制按钮;全部复制 一次取走 name: digest 四行。完整摘要始终显示在该行的工具提示里,不会因截断而丢失。状态行会报告算法的数量和输入的字节数。哈希计算通过 WebCrypto 的 SubtleCrypto 在你的浏览器中运行,而它要求安全上下文:https 或 localhost。
使用方法
- 在 输入 框中输入或粘贴文本。
- 每敲一个键,四个摘要都会重新计算。
- 将鼠标悬停在某一行上即可读取完整摘要。用该行的复制按钮复制单个摘要,或用 全部复制 一次取走四个。
示例
标准测试向量 abc:
| 算法 | 摘要 |
|---|---|
| SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
| SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
此输入的状态行:4 algorithms · 3 byte input。
改动一个字符,每个摘要都会完全改变。abd 的 SHA-256 是 a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9,与上面 abc 的摘要没有任何可读的共性。
哈希的工作原理
哈希函数读取任意大小的输入,产生固定大小的摘要。相同的输入总是产生相同的摘要。不同的输入产生互不相关的摘要,这得益于雪崩效应:输入的每一个比特都影响输出的每一个比特,因此改动一个字符就会重写整个结果。输出长度是算法的属性,与输入无关:
| 算法 | 摘要字节数 | 十六进制字符数 |
|---|---|---|
| SHA-1 | 20 | 40 |
| SHA-256 | 32 | 64 |
| SHA-384 | 48 | 96 |
| SHA-512 | 64 | 128 |
摘要本身是一串原始字节。本工具以十六进制的形式把它打印出来,一个字节会变成两个字符。这就是为什么只有 3 字节的输入,也仍然会得到 64 个字符的 SHA-256。
这四种算法不能互换。SHA-1 的碰撞已被攻破:2017 年的 SHAttered 攻击产生了两个 SHA-1 摘要相同的不同文档,因此它不得用于签名或验证任何内容。SHA-2 家族(SHA-256 及以上)仍是标准,SHA-256 是校验和与签名的常见默认选择。
注意事项
- 不适用于密码: 密码的普通哈希几秒钟内就会被查找表逆转。密码存储需要带盐的慢速构造,例如 Argon2 或 bcrypt。本工具用于检查和验证文本、文件与下载内容的摘要。
- 编码很重要: 输入按 UTF-8 字节进行哈希,因此像
é这样的字符在状态行中计为 2 字节。 - 确定性: 在任何机器上粘贴相同的文本,都会得到相同的四个摘要。这正是摘要可以用作指纹的原因。
- 需要安全上下文: 页面必须通过 https 或 localhost 加载,否则浏览器不会提供 SubtleCrypto。
- 相关工具:
HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Type Identifier、Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
、UUIDUUIDA 128-bit identifier generated to be practically unique without coordination, most commonly in version-4 (fully random) form.
Generator。