SHA-512 属于 SHA-2 家族,由 NIST 在 FIPS 180-2(现行 FIPS 180-4)中发布,把任意长度的数据压缩成 512 位(64 字节)摘要,通常写成 128 个十六进制字符。下面重点说明规则与常用值。
SHA512参考表
- 输入是字节:同一段中文按 UTF-8 和 GBK 计算,结果不同
- 输出通常用小写十六进制,比较时忽略大小写即可
- 也可以用 Base64 表示 64 字节摘要
- 比较摘要应使用常量时间比较
输出十六进制或 Base64、大小写、输入字符集、是否按文件分块读取。
函数返回 64 字节原始摘要,再格式化为 128 个十六进制字符。
示例
输入:abc
计算结果:
ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
说明:对 UTF-8 字节计算 sha512。
常见用途
- 软件发布与镜像的完整性校验
- TLS、证书和一些签名方案的底层哈希
- HMAC-SHA-512、HKDF 等密钥派生
- 需要比 SHA-256 更长摘要的场合
Go 示例
下面是 Go 中处理SHA512的常用写法:
import "crypto/sha512"
sum := sha512.Sum512([]byte("abc"))运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【和 SHA-256 哪个更安全?】两者目前都安全。SHA-512 摘要更长;安全性还取决于用法是否正确。
【空字符串的 SHA-512 是多少?】cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e。
【为什么本地和网站算的不一样?】多半是换行、空格或字符集不同。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。
标签: 数码开发