rmdir.cn

openssl dgst

计算文件摘要或 HMAC

语法

openssl dgst -算法 [-hmac 密钥] 文件

说明

适用于计算文件的哈希值,或使用共享密钥计算 HMAC 用于校验数据完整性。默认输出十六进制摘要,配合 -hmac 可生成消息认证码。注意 dgst 可用于校验数据是否被篡改,但不能证明来源身份,签名场景应使用数字签名而非 HMAC。

参数

  • -算法必填

    摘要算法,如 -sha256、-sha512

  • -hmac

    使用给定密钥计算 HMAC

  • -binary

    输出原始二进制摘要

示例

计算文件 SHA-256

用于核对下载文件是否完整。

openssl dgst -sha256 package.tar.gz

注意事项:需要从可信渠道获取官方摘要再进行比对,否则摘要本身也可能被替换。

计算 HMAC

与 JWT 的 HS256 签名使用同一套算法。

printf 'header.payload' | openssl dgst -sha256 -hmac 'secret' -binary | openssl base64 -A | tr '+/' '-_' | tr -d '='

注意事项:密钥同样通过管道传入,注意不要在共享终端里明文敲入生产密钥。

参考资料