编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 名词解释 / SHA

SHA

SHA(Secure Hash Algorithm,安全散列算法)是一组由 NSA 设计、NIST 发布的密码学哈希函数。它把任意长度的输入压缩成固定长度的摘要(digest)。日常说的 SHA256SHA512 都属于 SHA-2 家族,SHA-1 是更早一代,SHA-3 则是内部结构完全不同的新标准。名字里的数字通常表示输出位数:SHA-256 输出 256 位(64 个十六进制字符),SHA-512 输出 512 位(128 个字符)。

它有几个关键特性,也决定了它的用途:

所以它常见于校验文件完整性、数字签名、HMAC 消息认证、Git 提交 ID、区块链等场景。最常见的误区是把 SHA 当成「加密」——它没有密钥、不可逆,无法「解密」,只能重新计算再比对。另一个坑是直接用 SHA 存密码:SHA 算得太快,容易被暴力破解或彩虹表命中,密码应改用加盐的慢哈希(bcrypt、scrypt、Argon2、PBKDF2)。此外 SHA-1 已被证明可构造碰撞,新项目请用 SHA-256 及以上。

常见问题

SHA256 和 SHA-2 是什么关系?
SHA-2 是一个家族,包含 SHA-224/256/384/512 等成员;SHA256 是其中输出 256 位的那个变体。平时说的「SHA2」多半就是指 SHA-256。
SHA 能解密还原原文吗?
不能。SHA 是单向哈希,不是加密算法,没有可逆过程。所谓「SHA 解密」网站只是把海量常见明文提前算好摘要做字典比对,对随机长字符串基本无效。
该用哪个 SHA?SHA-1 还能用吗?
SHA-1 已被攻破(存在实际碰撞),只适合非安全的一致性校验,别再用于签名或防篡改。新项目默认选 SHA-256,需要更高强度可用 SHA-512 或 SHA-3。

相关工具

相关名词