哈希与 HMAC 生成器
固定到你的工具计算文本或文件的 MD5、SHA-1、SHA-2、SHA-3、BLAKE2、BLAKE3 和 CRC-32 哈希,并可选 HMAC。
完全在你的浏览器中运行。你输入的内容绝不会发送到我们的服务器。
文本
粘贴打开文件Ctrl O清空
哈希
下载复制Ctrl Shift C
历史记录 · 0
处理过的输入会在此页面打开期间显示在这里。重新加载页面会清空列表。
代码示例
可直接复制到你自己的项目中。每个示例只使用该语言的标准库,因此无需安装任何东西。
import { createHash } from 'node:crypto'
const text = 'hello'
const digest = createHash('sha256').update(text).digest('hex')
console.log(digest)它能做什么
计算文本或整个文件的 MD5、SHA-1、SHA-2、SHA-3、BLAKE2、BLAKE3 和 CRC-32 哈希,并可选 HMAC。文件会分成小块读取,所以大文件也能处理。哈希在你的浏览器中完成,本页不显示广告,你分享的链接也绝不包含你的文本或密钥。
如何使用
- 输入或粘贴文本,也可以把文件拖到输入框上。
- 选择算法,以及结果的写法:十六进制、大写十六进制、Base64 或 URL 安全的 Base64。
- 要生成 HMAC,请打开它并输入密钥。密钥按 UTF-8 文本读取。
- 复制哈希。打开逐行选项,可以分别计算每一行的哈希。
示例
hello 的 SHA-256:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
123456789 的 CRC-32:
cbf43926
须知
- SHA-256 是安全的默认选择。MD5 和 SHA-1 在安全方面已被攻破,只适合用来比对旧的校验和。
- CRC-32 是校验和,不是哈希函数,所以不能用于 HMAC。
- 普通哈希的速度太快,根本无法保护密码。请改用 Argon2、scrypt 或 bcrypt。
什么是哈希?
哈希函数能把任意输入变成一个简短、定长的“指纹”。相同输入总是得到相同哈希,不同输入得到不同哈希。哈希可用于校验下载、检测改动和为数据建立索引。HMAC 会把密钥混入哈希,只有持有密钥的人才能生成或验证。
常见问题
我该用哪种算法?
SHA-256 是安全的默认选择。SHA-3 和 BLAKE3 是较新的替代方案。MD5 和 SHA-1 在安全上已被攻破,只用于核对旧的校验值。CRC-32 只能发现意外损坏。
能用它给密码做哈希吗?
不要用于存储。普通哈希太快,无法保护密码;请在服务器上使用 Argon2、scrypt 或 bcrypt 这类专用的密码哈希。
我的文本或文件会被上传吗?
不会。哈希在你的浏览器中完成,文件以小块读取,因此大文件也能处理。你输入的内容不会发送到我们的服务器,本页也不显示广告。