哈希生成器(MD5 / SHA)
生成加密哈希:MD5、SHA-1、SHA-256、SHA-384和SHA-512。通过Web Crypto API在你的浏览器中运行。
如何使用本工具
- 1
Type or paste the text you want to hash into the input box.
- 2
Click Generate to compute the digests.
- 3
Read the SHA-1, SHA-256, SHA-384, and SHA-512 results, each shown as a lowercase hexadecimal string.
- 4
Select a hash and copy it for use as a checksum, cache key, or content identifier.
什么是加密哈希,何时需要它们?
加密哈希函数是一种确定性算法,可将任意输入(几个字节、一个数GB的文件,或整部英文维基百科)转换为固定大小的输出,称为“摘要”(digest)或“哈希”。SHA-256产生256位(64个十六进制字符);SHA-512产生512位;MD5产生128位。有四个属性定义了“加密”哈希,使其区别于非加密哈希(如CRC32):确定性(相同输入 → 始终得到相同哈希)、雪崩效应(仅改变一位就会改变约一半的输出位)、抗原像性(你无法反向求解哈希以还原输入),以及抗碰撞性(你无法找到两个产生相同哈希的输入)。当一个哈希函数被攻破时,通常是后两个属性失守:针对MD5(2004年)和SHA-1(2017年)的碰撞攻击使它们不再适用于安全目的,尽管它们对于非对抗性的完整性校验(如文件校验和)仍然适用。对于任何新的安全工作,请使用SHA-256或SHA-512。本工具使用浏览器的Web Crypto API(crypto.subtle.digest),在现代设备上由硬件加速,其输出与OpenSSL、Python的hashlib模块以及Node的crypto模块逐字节完全一致。
常见使用场景
验证下载的文件是否与发布方公布的SHA-256匹配(Linux的ISO镜像、安全工具的发行版)。
为缓存键生成内容寻址标识符(内容哈希 → 稳定的URL)。
为文件存储创建去重键(哈希相同 = 文件完全相同)。
实现webhook签名校验:用共享密钥对负载做HMAC-SHA256。
生成Git风格的内容哈希(用SHA-1作为树/blob的标识符)。
通过计算关键列的哈希并存储它,来验证数据库行的完整性。
常见问题
为什么MD5在安全方面已被淘汰?▼
哈希可以被反向还原吗?▼
SHA-256和HMAC-SHA256有什么区别?▼
我什么时候该用SHA-512而不是SHA-256?▼
为什么我的SHA哈希与另一个工具算出的不一样?▼
用它处理敏感数据安全吗?▼
相关工具
JWT解码器
即时解码JSON Web Token(JWT)。完全在你的浏览器中运行:令牌绝不会离开你的设备,可安全用于生产环境的密钥。
JSON格式化与校验工具
在线格式化、校验和压缩JSON。完全在你的浏览器中运行:你的数据永远不会离开你的设备。
XML格式化工具
格式化并美化XML文档。适用于SOAP、站点地图、RSS订阅源和配置文件。
Base64编码与解码工具
将字符串编码为Base64,或将Base64解码为文本。尊重你的隐私:全部在你的浏览器中运行。
URL编码与解码工具
将文本转换为URL安全的编码(百分号编码),或进行反向转换。适用于查询字符串、重定向和OAuth流程。
HTML实体编码与解码工具
将特殊字符转换为HTML实体(&、<等),或进行反向转换。适用于将文本安全地嵌入HTML。