SHA-384哈希生成
使用我们的SHA-384哈希生成工具生成任意字符串输入的SHA-384哈希,确保数据安全。

SHA-384哈希生成是一款免费工具,可将任意字符串输入转换为固定长度的SHA-384哈希值。
SHA-384哈希有什么作用?
SHA-384通过单向数学函数为数据生成精简的384位指纹。相同的输入会得到相同的固定长度摘要,而输入哪怕只有细微变化,所得结果也极有可能不同。SHA-384摘要不是加密文本,因为该算法不使用密钥,也没有对应的解密过程。
SHA-384属于SHA-2系列,由美国国家安全局设计,美国国家标准与技术研究院于2001年首次发布,并在2002年纳入FIPS 180-2标准。其内部使用SHA-512结构,但采用不同的初始值,并缩短了输出长度。

SHA-384现在还安全吗?
是的,只要用途合适,SHA-384目前仍被认为可安全用于一般密码学哈希。针对完整算法,尚无已知的实用碰撞攻击或原像攻击。
其384位摘要可提供最高192位的抗碰撞强度。这远强于MD5和SHA-1等旧算法,后两者均已存在实用碰撞攻击,不应再用于新的安全敏感型系统。
SHA-384作为通用哈希函数并未被弃用,但绝不能直接用于存储密码。它运行速度快,这也方便攻击者批量测试密码猜测。存储密码时,应使用Argon2id、scrypt、bcrypt或PBKDF2等刻意增加计算成本的密码哈希函数,并为每个密码使用唯一的盐值,而不是使用SHA-384。

如何使用SHA-384哈希生成?
输入需要计算哈希的准确字符串并运行工具,然后复制SHA-384哈希结果字段中显示的值。计算由服务器上的PHP哈希实现完成。
你的输入会通过HTTPS传输到服务器,并且不会被存储。不过,处理过程中数据确实会离开你的设备,因此请勿提交密码、私钥、恢复短语或其他绝不能发送给远程服务的内容。
例如,输入hello会生成包含96个字符的SHA-384摘要59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f。再次输入相同的5个小写字母,会得到同一个SHA-384摘要。输入Hello、末尾带空格的hello 或hello.,则会分别生成不同的SHA-384哈希值。

如何读取结果并处理容易出错的输入?
SHA-384结果包含384位,即48字节或96个十六进制字符。本工具的SHA-384哈希字段使用数字0至9和字母a至f表示十六进制值,但其他系统可能会以大写字母显示。SHA-384摘要中字母的大小写不会改变其实际值。
- 空格和换行:在这款SHA-384哈希生成工具中,开头空格、末尾空格和换行符都会成为提交输入字节的一部分,并改变哈希值。
- 重音字符和非拉丁文字:SHA-384处理的是字节,而不是字符。如果两个看起来完全相同的字符串使用了不同的Unicode规范化形式或字符编码,其字节可能不同。
- 数字:手动输入的00125会被视为字符串数据,其哈希值与125不同。
- 空输入:SHA-384算法为零长度字节序列定义了有效摘要。该摘要与空格或换行符的哈希值不同。
- 长输入:无论输入多长,输出始终为96个十六进制字符。
SHA-384可以解密或逆向还原吗?
不可以。SHA-384哈希无法解密,因为哈希运算不会以可逆形式保留原始文本。许多可能的输入都会被映射到固定的384位输出空间中。
由于SHA-384运行速度快,攻击者可以迅速对每个猜测值计算哈希并比较结果。因此,较短、常见或容易预测的值可能会通过字典搜索或暴力破解被找出。SHA-384本身的强度无法让弱密码变得安全,也不能把低熵标识符变成秘密。
在线数据库中可能收录了常见字符串预先计算好的SHA-384哈希。找到匹配记录只是一次查询,并不代表算法被逆向还原。
SHA-384现在用在哪里?
当协议、规范或现有系统要求使用384位SHA-2摘要时,会采用SHA-384。常见的合理用途包括文件校验和、重复内容检测、完整性记录,以及兼容已经存储SHA-384值的软件。
- 将下载的文件与发布方提供的SHA-384校验和进行比较。
- 生成旧版数据库、API或文档格式所需的摘要。
- 为明确要求SHA-384的协议创建输入。
普通SHA-384校验和可以检测意外改动,但无法证明数据由谁创建。如果攻击者能够同时篡改文件及其公开的哈希值,普通SHA-384校验和也无法阻止对方将两者一并替换。对于需要认证的消息,请使用采用秘密密钥的HMAC-SHA-384或合适的数字签名方案。
如果规范允许选择多种SHA-2变体,SHA-256应用更广,而且摘要更短。对于明确要求完整512位输出的系统,SHA-512可能更合适。SHA-256哈希生成和SHA-512哈希生成可以生成这些格式。
常见问题
SHA-384就是删掉部分字符的SHA-512吗?
不是。SHA-384与SHA-512采用相同的基本压缩结构,但初始值不同,并会将最终状态截短至384位。直接把SHA-512摘要截成96个十六进制字符,并不能得到SHA-384。
SHA-384会受到长度扩展攻击吗?
SHA-384使用Merkle–Damgård结构,但截短后的输出隐藏了SHA-512内部状态中的128位,因此标准的实用长度扩展攻击并不可行。即便如此,也不能把直接将密钥与消息拼接起来的自制方案当作消息认证码。需要使用秘密密钥认证数据时,请使用HMAC-SHA-384。
可以用这个工具计算文件哈希吗?
不可以,本工具面向字符串输入,不支持文件上传。由于这款服务器端生成工具只接受字符串,把二进制文件内容粘贴到文本字段中,可能因编码或换行符转换而改变字节。处理文件时,请使用sha384sum等系统工具或等效的密码学库,并比较全部96个十六进制字符。
为什么另一个SHA-384计算器给出的结果不同?
两边的输入很可能在字节层面存在差异。请先检查空格、字母大小写和行尾格式,包括末尾是否有换行符。如果与输入内容及所用系统有关,还应检查字符编码、Unicode规范化形式,以及某个系统是否包含字节顺序标记。在认定任一摘要错误之前,请先比较准确的输入字节。