免费在线哈希生成器与校验和工具
使用标准浏览器 WebCrypto API,为文本字符串和本地文件计算 MD5、SHA-1、SHA-256 和 SHA-512 加密哈希值。
如何生成哈希
先选择算法。
从菜单中选择 SHA-1、SHA-256、SHA-384 或 SHA-512,如需大写请勾选“大写输出”。选择文件后会立即对其进行哈希。
添加文本或文件。
输入或粘贴文本后点击“生成哈希”,或点击“哈希文件”并选择一个文件。文本按输入的原样进行哈希,包括空格。
复制哈希。
点击“复制哈希”,即可把十六进制结果放入剪贴板。如需尝试其他算法,请更改菜单后重新生成,或重新选择该文件。
常见问题
关于算法、文件校验和、MD5 以及与其他工具结果一致的解答。
这个生成器支持哪些哈希算法?
支持 SHA-1、SHA-256、SHA-384 和 SHA-512,默认选择 SHA-256。这四种算法都通过浏览器的 Web Crypto API 运行。不提供 MD5、SHA-3、CRC32 和 HMAC,请从这四个 SHA 选项中选择。
可以在这里生成 MD5 哈希吗?
不可以。浏览器中的 Web Crypto API 不含 MD5,而且本工具也没有为此添加额外的库。MD5 在安全用途上也已被攻破。如果下载页面同时列出了两者,请改为核对 SHA-256 校验和,因为它是更安全的检验方式。
如何验证文件的 SHA-256 校验和?
先选择 SHA-256,然后点击“哈希文件”并选择下载的文件。将结果与发布方页面上的校验和进行比对。字母大小写无关紧要,所以 ABC1 和 abc1 是一致的。若有任何其他差异,就说明文件已损坏,或不是对方发布的那个文件。
为什么我的哈希与命令行结果不一致?
通常是因为隐藏的换行符。echo hello | sha256sum 会对 hello 加一个换行符进行哈希,而本工具只对文本框中的内容进行哈希。请改用 printf '%s' hello 或 echo -n hello。在文本框中输入的换行按单个 LF 字符计算。
SHA-256 和 SHA-512 有什么区别?
两者都属于 SHA-2 系列。SHA-256 生成 256 位摘要,显示为 64 个十六进制字符;SHA-512 生成 512 位摘要,即 128 个字符。校验和通常选用 SHA-256。SHA-512 的安全余量更大,在 64 位芯片上通常也更快。
更改设置后需要再次点击“生成哈希”吗?
需要。算法菜单和“大写输出”复选框只对下一次哈希生效。结果上方的标签显示的是当前菜单所选的算法,所以更改后请再次点击“生成哈希”。如果是文件,请重新选择该文件,因为“生成哈希”会重新对文本框中的内容进行哈希。
哈希输出是大写还是小写?
默认是小写。如需大写,请在生成前勾选“大写输出”,例如为了与 PowerShell 的 Get-FileHash 保持一致。十六进制不区分大小写,所以 2CF24DBA 和 2cf24dba 是同一个 SHA-256 值。
哈希可以被逆向或解密吗?
不可以。哈希是单向的,并不是加密,没有任何密钥可以把它还原成原文。人们破解哈希的唯一办法是猜测输入内容并比对结果,这对简短或常见的密码有效。这就是为什么存储密码需要使用 bcrypt 这类慢速哈希。
SHA-1 还安全吗?
用于签名或证书已经不安全。2017 年,研究人员制作出了两个内容不同但 SHA-1 哈希相同的 PDF 文件。不过它仍可用于发现意外损坏,Git 也默认使用它。新的用途请选择 SHA-256。
哈希生成器能处理多大的文件?
没有固定上限。该工具会把整个文件读入内存,并一次性完成哈希,所以上限取决于你设备的可用内存。非常大的文件,例如数 GB 的磁盘镜像,可能会因内存耗尽而失败,并且没有进度条。
可以对空字符串或只有空格的内容进行哈希吗?
不可以。该工具会跳过为空或只有空格的输入,因此不会显示结果。供你参考:空字符串的 SHA-256 是 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。前后带有空格的文本会按输入的原样进行哈希。
在这里对密码或 API 密钥进行哈希安全吗?
你的文本和文件在你的设备上完成哈希,不会发送给我们。统计分析只记录“复制”等点击操作和哈希耗时,绝不会记录你的文本或文件。不过,单纯的 SHA 哈希并不是存储密码的安全方式,请使用 bcrypt 或 Argon2。
支持 SHA-256、SHA-512 等算法的哈希生成器
四种 SHA 算法,支持文本或文件输入,十六进制输出可选大小写,全部由浏览器内置的 Web Crypto API 完成哈希。

用四种 SHA 算法对文本进行哈希
输入或粘贴文本,选择 SHA-1、SHA-256、SHA-384 或 SHA-512,然后点击“生成哈希”。文本按 UTF-8 读取,因此带重音的字符和 emoji 的哈希结果与 Python 或 Node 中一致。
- SHA-1、SHA-256、SHA-384 和 SHA-512
- 默认选择 SHA-256
- SHA-256 结果为 64 位十六进制字符

对任意文件进行哈希以校验下载
点击“哈希文件”并选择任意文件,例如 ISO、ZIP 或安装程序。该工具对文件的原始字节进行哈希,因此结果与 sha256sum、certutil 或 Get-FileHash 一致。
- 支持任意文件类型,一次一个
- 对文件的原始字节进行哈希
- 结果与 sha256sum 一致
小写或大写十六进制
十六进制默认以小写输出。在点击“生成哈希”之前勾选“大写输出”,即可与 Get-FileHash 等输出大写字母的工具保持一致。
基于 Web Crypto 构建
哈希由 crypto.subtle.digest 生成,这是浏览器内置的哈希代码。无需加载额外的库,对相同字节而言,结果与 Node 和 Python 一致。
文本和文件保留在本地
你的文本和文件在你的设备上完成哈希,不会发送给我们。统计分析只记录“复制”和“清除”等点击操作以及哈希耗时,绝不会记录你粘贴的内容。
免费,无需注册
可对任意数量的文本和文件进行哈希,一次一个,无需账号,也没有每日上限。非常大的文件取决于你设备的内存。
人们用哈希生成器做什么
校验下载、测试代码和生成内容指纹是最常见的用途。
文件完整性
检查下载的文件是否完整。使用发布方列出的相同算法(通常是 SHA-256)对文件进行哈希,然后将结果与其页面上的校验和进行比对。
- 与下载页面上的 SHA-256 校验和进行比对
- 发现损坏或不完整的下载
- 检查 ISO、ZIP 和安装程序文件
开发与测试
为单元测试、测试数据和调试日志生成预期值。粘贴确切的字符串,选择算法,然后把十六进制结果复制到你的代码或测试中。
- 核对你的代码中 SHA-256 应返回的结果
- 比较不同语言和系统之间的哈希
- 不适用于存储密码:请使用 bcrypt 或 Argon2
数据指纹
把哈希当作一段文本或一个文件的简短指纹。SHA-256 相同的两份输入,在实际使用中可以视为完全相同。
- 根据文件或文本内容生成缓存键
- 通过比较哈希找出重复文件
- 查看配置文件是否发生了变化