功能简介
这个工具计算任意文本的 SHA-1 哈希值。SHA-1 是一种密码学哈希函数,诞生于 1995 年。它把任意长度的输入变成固定的 160 位值,显示为 40 个十六进制字符。相同的输入永远得到相同的哈希值,哪怕只改一个字符,结果也会完全不同。
使用方法
- 在输入框里输入或粘贴文本,也可以拖入文本文件,或点「示例」。
- 输入的同时显示 SHA-1 哈希值。
- 输出格式可选「十六进制」或「Base64」;如果要对比的系统使用大写字母,打开「十六进制大写」。
- 打开「逐行分别计算」可以一次处理一批数据(比如多个密码或 ID),每一行的哈希值输出在对应的行上。
文本按 UTF-8 原样计算,空格和换行都算在内。需要计算文件哈希或使用其他算法,请用通用的哈希生成器。
示例
输入: The quick brown fox jumps over the lazy dog
SHA-1: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
在末尾加一个句点,哈希值就会完全改变。这种「雪崩效应」让哈希值能发现数据里的任何改动。
SHA-1 的常见用途
SHA-1 仍出现在 Git 的提交和对象 ID、用 HMAC-SHA1 签名的旧接口和 Webhook、TOTP 动态验证码,以及老项目公布的文件校验值里。HMAC-SHA1 和 TOTP 不依赖抗碰撞性,目前仍被认为是安全的。
安全性
SHA-1 在安全上已不推荐使用。2017 年的 SHAttered 攻击构造出了 SHA-1 相同的两个不同 PDF,此后攻击成本越来越低。浏览器和证书机构从 2017 年起已不再接受 SHA-1 证书。新项目请使用 SHA-256。
常见问题
› 文本会发送到服务器吗?
不会。SHA-1 哈希值在浏览器里计算,密码、密钥和私密文本都不会离开你的设备。
› SHA-1 能解密吗?
不能。SHA-1 是单向哈希,不是加密。号称能「解密」的网站其实是在常见词的哈希表里查找,只对很短或很常见的输入有效。
› 为什么我算出的 SHA-1 和别的工具不一样?
通常是输入里有看不见的差异:结尾多了换行(echo 会自动加,用 echo -n)、Windows 的 CRLF 换行、开头多了空格,或者文本编码不同。本工具对输入框文本的 UTF-8 字节原样计算。
› SHA-1 哈希值有多长?
160 位,即 40 个十六进制字符,或 28 个 Base64 字符。
› SHA-1 安全吗?
SHA-1 在安全上已不推荐使用。2017 年的 SHAttered 攻击构造出了 SHA-1 相同的两个不同 PDF,此后攻击成本越来越低。浏览器和证书机构从 2017 年起已不再接受 SHA-1 证书。