SHA(Secure Hash Algorithm,安全散列算法)是由美国国家安全局(NSA)设计,并由美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。它能将任意长度的数据映射为固定长度的“数字指纹”。
本工具集成了 SHA 全家族算法,您可以根据不同场景选择合适的强度:
| 算法名称 | 输出长度 (位/Hex) | 安全级别 | 建议应用场景 |
|---|---|---|---|
| SHA-1 | 160位 / 40字符 | 较低 | 旧版软件兼容、Git 版本校验、非安全哈希 |
| SHA-224 | 224位 / 56字符 | 高 | SHA-2 系列的简化版 |
| SHA-256 | 256位 / 64字符 | 极高 (主流) | 区块链、数字证书、API 签名、密码哈希 |
| SHA-384 | 384位 / 96字符 | 极高 | 高安全性环境、数据完整性严格校验 |
| SHA-512 | 512位 / 128字符 | 最高 | 金融级数据、超大文件完整性指纹 |
虽然两者都用于生成数据摘要,但存在显著差异:
Q:SHA 加密后的结果可以解密还原吗?
A:不可以。 SHA 属于单向散列函数,它不是加密(Encryption),而是哈希(Hashing)。其设计目标就是无法通过结果推导出原始明文。
Q:为什么两个完全相同的文件,生成的 SHA-256 值不一样?
A: 哈希值对数据极其敏感。请检查文件的换行符(CRLF vs LF)、**编码格式(UTF-8 vs GBK)**或是文件中是否存在肉眼不可见的隐藏字符。
Q:SHA-256 是绝对安全的吗?
A: 在目前的数学理论和算力下,SHA-256 被认为是极其安全的。虽然理论上存在碰撞可能,但概率低到可以忽略不计。不过,为了防御“彩虹表”查询,存储密码时仍建议进行“加盐(Salt)”处理。
SHA入门教程: SHA 基础知识:SHA-1/2 /3 全面讲解