用 Java 处理 SHA512

40 0

SHA-512 属于 SHA-2 家族,由 NIST 在 FIPS 180-2(现行 FIPS 180-4)中发布,把任意长度的数据压缩成 512 位(64 字节)摘要,通常写成 128 个十六进制字符。下面重点说明JDK 写法。

用 Java 处理 SHA512

下面是 Java 中处理SHA512的常用写法:

MessageDigest.getInstance("SHA-512").digest("abc".getBytes(StandardCharsets.UTF_8));

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

示例

输入:user@example.com

计算结果:

6db185971e8d3b52426ff4a1c1ec499abda4a6d0bd47e4f3843a771203c5a4083abfc3db61a61da548c8fed8c035e779b35016c87589f017064680b83e36f228

说明:对 UTF-8 字节计算 sha512。

注意事项

  • 所谓“SHA-512 解密”只是查已有明文的对照表
  • echo 默认会加换行,命令行结果常因此和在线工具不一致
  • 密码存储不要只用一轮 SHA-512
  • 截断使用时应选用规定的 SHA-512/256 等变体,不要随便取前几位当另一种算法

怎么选

一般完整性校验选 SHA-256 即可;需要更长摘要或在 64 位服务器上追求同类算法时可用 SHA-512。密码存储不要直接用 SHA-512,应使用 Argon2、bcrypt、scrypt 并加盐。

SHA-512 输出 512 位,SHA-256 输出 256 位,SHA-1 输出 160 位且已不安全。SHA-512/256 是 SHA-512 截到 256 位并使用不同初始值的变体。哈希不能当加密,也不同于 Base64。

本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【SHA-512 能解密吗?】不能。它是单向哈希,只能对已知明文查表。

【结果有多长?】512 位,即 64 字节,十六进制 128 个字符。

【和 SHA-256 哪个更安全?】两者目前都安全。SHA-512 摘要更长;安全性还取决于用法是否正确。

文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 数码开发

抱歉,评论功能暂时关闭!