哈希与安全
Generate any hash you need — the classics like MD5 and SHA-256, checksums like CRC32, and real password hashes like bcrypt and Argon2. Your input is hashed and thrown away, never logged or stored.
关于 哈希与安全
这是本站最大的类别:三十六个哈希和校验和生成器汇于一处。它涵盖日常的加密摘要——MD5、SHA-256、SHA-512和 SHA-3 家族——像CRC32和 xxHash 这样快速的非加密校验和,以及真正的密码哈希方案:bcrypt、Argon2和PHP password_hash() 生成器。开发者、学生,以及任何在校验一个下载文件的人,最终都会来到这里。
重要的区别在于哈希是做什么用的。如果你是在验证一个文件或字符串是否完整到达,一个校验和就够了,CRC32 或 Adler-32 是经典之选。如果你需要一个加密摘要——一个难以伪造的指纹——那就用 SHA-256 或 SHA-512;MD5 和 SHA-1 在遗留系统和文件校验和中仍随处可见,但两者在安全用途上都已被攻破,不应保护任何重要的东西。如果你是在存储密码,以上都不对:请用bcrypt或Argon2,它们被刻意设计得缓慢且加盐,使得一个被盗的数据库攻击起来代价高昂。bcrypt 密码校验器对照一个已有的哈希来核对候选密码,HMAC 生成器负责用共享密钥对消息签名,而全哈希生成器在你试图通过长度和形态识别一个未知摘要时,一次性把同一个输入跑过多种算法。
这里每个工具都免费且无需注册。请注意它们的工作方式:与本站大多数工具不同,这些是在我们的服务器上计算的,因为浏览器无法运行 bcrypt、Argon2、RIPEMD 或 PHP 的 password_hash()。你的输入被发送到服务器、哈希,然后返回结果;输入随即被丢弃,永远不会被存储或记录。即便如此,诚实的建议很简单——不要把真实的密码、有效的 API 密钥或真正的生产数据粘贴到任何在线哈希工具中,包括这一个。用一个示例值来了解格式,然后在你自己的机器上生成真正的东西。
常见问题
这些哈希是在我的浏览器里生成的吗?
不是。这里的哈希在我们的服务器上完成,因为浏览器无法原生运行 bcrypt、Argon2、RIPEMD 或 PHP password_hash 这类算法。你的输入通过 HTTPS 发送、哈希,随后立即丢弃。它永远不会被存储或记录。即便如此,也不要把真实密码或有效密钥粘贴到任何在线哈希工具中。
哈希能被逆转回原始文本吗?
无法通过逆运算做到。哈希是单向的。攻击者转而做的是猜测:他们哈希数十亿个候选输入,寻找匹配,这对用 MD5 这类快速算法哈希的短或常见输入很有效。这正是密码哈希要用缓慢、加盐方案的原因。
我还该用 MD5 或 SHA-1 吗?
只用于非安全用途,比如对照已发布的校验和检查一个下载文件,或作为缓存键。两者都有实际可行的碰撞攻击,所以永远不要把它们用于签名、证书、密码或任何有人能从伪造匹配中获益的场合。
为什么同一个密码,bcrypt 每次给我不同的哈希?
因为 bcrypt 每次运行都会生成一个新的随机盐,而盐存储在生成的哈希字符串里面。这是有意为之且正确的。要核对密码,你不直接比较哈希;你使用一个校验器,它从存储的哈希中读取盐并用它重新计算。

