You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GnuPG是否支持对预先生成的摘要/哈希值进行签名?

GnuPG是否支持对预先生成的摘要/哈希值进行签名?

当然可以!GnuPG完全支持直接签名你预先生成的哈希值,不过得注意一些格式和参数上的细节——毕竟GPG签名的不是单纯的哈希字符串,得符合OpenPGP的规范要求才行。

下面是具体的操作步骤:

  • 第一步:把哈希值转换成二进制格式
    通常我们生成的哈希是十六进制字符串(比如用sha256sum输出的结果),但GPG需要处理的是二进制格式的哈希数据。你可以用xxd工具转码,假设你的十六进制哈希存放在hash.txt文件里,执行:

    xxd -r -p hash.txt > hash.bin
    

    这样就得到了二进制格式的哈希文件hash.bin。

  • 第二步:用GPG签名二进制哈希
    接下来用GPG的分离签名模式,同时指定你生成哈希时用的算法(这一步非常重要,必须和哈希算法完全一致),比如你用的是SHA256,执行:

    gpg --detach-sign --digest-algo SHA256 --output signature.sig hash.bin
    

    这里的--detach-sign是生成独立的签名文件,而不是把签名嵌入到原文件里;--digest-algo明确指定哈希算法,避免GPG使用默认算法导致签名与哈希不匹配。

  • 第三步:验证签名
    验证的时候,需要把二进制哈希文件和签名文件一起交给GPG:

    gpg --verify signature.sig hash.bin
    

    如果验证通过,会输出签名的有效性和签名者的相关信息。

额外提醒:千万不要直接签名十六进制哈希字符串,那样GPG实际上是对字符串本身签名,而不是对原始文件的哈希签名,后续验证时会无法对应上原始文件的哈希值。

备注:内容来源于stack exchange,提问作者ivicaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:23:11