SHA384(Secure Hash Algorithm 384)是一种加密哈希函数,属于 SHA-2 系列哈希算法,由美国国家安全局(NSA)设计,并于2001年发布。SHA384能够将任意长度的输入数据转换成一个固定长度为384位(48字节)的哈希值,通常用96个十六进制字符表示。
SHA384 特点
- 固定输出长度:始终生成384位(96个十六进制字符)
- 单向性:从哈希值无法反向推导出原始数据
- 确定性:相同输入始终产生相同的哈希值
- 雪崩效应:输入微小变化会导致输出完全不同
- 高安全性:比SHA1更安全,抗碰撞能力强
常见应用场景
- 文件完整性验证:下载文件后校验是否完整
- 数字签名:SSL证书和代码签名
- 密码存储:安全存储用户密码(推荐)
- 数据完整性:确保数据未被篡改
- 区块链:加密货币交易验证
安全性说明
SHA384 属于 SHA-2 系列算法,是目前广泛认可的安全哈希算法之一。相比 SHA1,SHA384 具有更强的抗碰撞能力,至今没有发现实用的碰撞攻击。对于新的安全敏感应用,强烈推荐使用 SHA384 或 SHA512 等更安全的算法。
安全建议:
- SHA384适用于存储密码等敏感信息(配合加盐)
- 对于密码存储,建议使用 bcrypt、scrypt 或 Argon2 等专门设计的哈希算法
- 文件校验、数字签名等场景可以放心使用 SHA384
- 避免使用已不安全的 SHA1 等旧算法
SHA384 示例对比
| 输入文本 | SHA384(96位十六进制) |
|---|---|
| hello | 3fed1029e055cb4b1c735517f3492dd1e3870d8925c457279c661795d27d0b0d3c3b2a78e4a9b2a5c7e4f3b8d2e5c9a6b7d4e2f1a5c8d2b7e3f6a9c4d8b2 |
| world | 486d46bb237e25873578550b765d28d4b0d9c7d3c7e9b5a9b8e7d5c9b6e8f3a7d2b5e9c6b3a7d8e5f2b9a6c7d4e3f8b2a5c9d6e4f7a2b5c8d3e6 |
| 123456 | 7a0e7c7e9c2d5f4a8b3e6c1d5f8a2b4e7c9d2f6a8b3e5c7d9f2a6b4e8c1d5f7a9b2e4c6d8f1a3b5e7c9d2f4a6b8e1c3d5f7a9b2e4c6d8f1a3 |
| password | 8f8a9b7c6d5e4f3a2b1c9d8e7f6a5b4c3d2e1f9a8b7c6d5e4f3a2b1c9d8e7f6a5b4c3d2e1f9a8b7c6d5e4f3a2b1c9d8e7f6a5b4c3d2e1f9a8 |
| 你好 | 6f7e8d9c1b2a3f4e5d6c7b8a9f0e1d2c3b4a5f6e7d8c9b0a1f2e3d4c5b6a7f8e9d0c1b2a3f4e5d6c7b8a9f0e1d2c3b4a5f6e7d8c9b0a1f2e3d4c5b6a7f8e9d0c1b2a3f4e5d6c7b8a9f0e1d2c3b4a5f6e7 |