哈希生成器
在你的设备上运行,不会发送任何内容。一切都在您自己的设备上进行。您输入或上传的任何内容都不会被发送到任何地方。
MD5
输入文本或上传文件以生成哈希值
SHA-1
输入文本或上传文件以生成哈希值
SHA-256
输入文本或上传文件以生成哈希值
SHA-384
输入文本或上传文件以生成哈希值
SHA-512
输入文本或上传文件以生成哈希值
SHA3-256
输入文本或上传文件以生成哈希值
SHA3-512
输入文本或上传文件以生成哈希值
CRC32
输入文本或上传文件以生成哈希值
完全在浏览器中为文本或文件生成 MD5、SHA、SHA-3 和 CRC32 哈希值。
哈希函数接收任意输入(文本或文件),并生成一个固定长度的字符串,如同该数据的指纹。即使输入中只改变一个字符,输出也会完全不同,这使得哈希值可用于验证下载的文件是否未被损坏或篡改。此工具在您的浏览器本地计算 MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512 和 CRC32 哈希值 - 您的文本和文件永远不会被上传到任何地方。
常见问题
MD5 和 SHA-256 有什么区别?
两者都能将数据转换为固定长度的哈希值,但在输出长度和抗碰撞性上有所不同。MD5 生成 128 位哈希值,速度快,但在密码学上已被攻破 - 可以构造出两个不同的文件产生相同的 MD5 哈希值。SHA-256 生成 256 位哈希值,目前被认为是安全的,因此是当今校验和与数字签名的标准选择。
MD5 现在使用还安全吗?
用于验证意外损坏(例如部分下载的文件)时,MD5 仍然可以胜任 - 它速度快,且碰撞不会偶然发生。对于任何与安全相关的场景,例如验证文件来自可信来源或未被故意篡改,应改用 SHA-256 或更强的算法。
CRC32 有什么用途?
CRC32 不是加密哈希 - 它的设计目的是捕获意外错误,例如文件传输过程中或 ZIP 压缩包中的数据损坏,而不是抵御蓄意篡改。正因如此,它速度快,广泛应用于网络通信和文件格式中。
什么是 HMAC?什么时候该用它?
HMAC(基于哈希的消息认证码)在哈希前把密钥与数据混合。只有消息而没有密钥的人无法伪造匹配的 HMAC,因此常用于 API、webhook 和已签名的 Cookie。本页在本地计算 HMAC-SHA-1/256/384/512 — 密钥不会离开浏览器。普通摘要(MD5、SHA-*、CRC32)不使用密钥。
我可以在不上传文件的情况下计算其哈希值吗?
可以。切换到文件模式,选择或拖放一个文件,哈希值会使用浏览器的 Web Crypto API 和 JavaScript 在本地计算 - 文件本身永远不会离开您的设备或发送到服务器。
为什么这个工具同时提供 SHA-256 和 SHA3-256?
SHA-256(属于 SHA-2 家族)和 SHA3-256 基于完全不同的内部设计 - SHA-2 使用 Merkle-Damgård 结构,而 SHA-3 使用一种更新的、称为 Keccak 的海绵结构,这使它对影响 SHA-2 的某些理论攻击(例如长度扩展攻击)免疫。目前两者都被认为是安全的;SHA-3 的存在主要是作为备用标准,以防将来在 SHA-2 中发现弱点。
为什么哈希比较会忽略大小写?
哈希值的输出通常以大写或小写十六进制形式书写,因此 a76c... 和 A76C... 表示的是完全相同的哈希值。此工具的比较框会在检查是否匹配之前,去除两侧的空白并将其转换为小写,因此粘贴来自格式不同来源的哈希值仍然可以正常工作。
面向开发者:在 URL 中打开此页面并附带 `q` 参数 - 例如 gizke.com/hash?q=hello world - 该值会自动预填。大多数访问者不需要这个功能;它用于直接链接到一个可用的现成示例。