SHA-512 属于 SHA-2 家族,由 NIST 在 FIPS 180-2(现行 FIPS 180-4)中发布,把任意长度的数据压缩成 512 位(64 字节)摘要,通常写成 128 个十六进制字符。下面重点说明分步原理。
SHA512怎样一步步运算
SHA-512 先把消息填充到 1024 位的整数倍(补 1 再补 0,最后附上 128 位长度),再按 1024 位分块,用 8 个 64 位寄存器做 80 轮压缩。最终 8 个寄存器拼接成 512 位摘要。SHA-384 其实是 SHA-512 的截断版本。
示例
输入:123问
计算结果:
d2bb30853b91b1bad331ec75400528d2cee451f83293516366c5295656a35008c01cd21cdf6a288dd4721e03ee4cf5cb0bba95ebe6e22a8d238981c47a59ac89
说明:对 UTF-8 字节计算 sha512。
常见报错
- 结果对不上:先检查换行和 UTF-8
- NoSuchAlgorithmException:Java 中名称写 SHA-512
- 大文件把整个文件读进浏览器导致卡顿,改用命令行
怎样核对结果
与官方公布的 SHA-512 逐位比较(忽略大小写)。Linux 可用 sha512sum -c 校验清单。
本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【为什么本地和网站算的不一样?】多半是换行、空格或字符集不同。
【SHA-512 能解密吗?】不能。它是单向哈希,只能对已知明文查表。
【结果有多长?】512 位,即 64 字节,十六进制 128 个字符。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。
标签: 数码开发