使用 gpg 格式以编程方式验证校验和
Programmatically verify checksum using gpg format
我想以编程方式验证 Kafka 二进制文件的 sha512 校验和。首先,我下载二进制文件和 sha512 和文本文件:
curl -fsSL -O \
https://ftp.wayne.edu/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
curl -fsSL -O \
https://downloads.apache.org/kafka/2.7.0/kafka_2.13-2.7.0.tgz.sha512
我通过人工检查知道校验和没问题:
$ cat -ne kafka_2.13-2.7.0.tgz.sha512
1 kafka_2.13-2.7.0.tgz: F3DD1FD8 8766D915 0D3D395B 285BFA75 F5B89A83 58223814$
2 90C8428E 6E568889 054DDB5F ADA1EB63 613A6441 989151BC$
3 7C7D6CDE 16A871C6 674B909C 4EDD4E28$
$ sha512sum kafka_2.13-2.7.0.tgz
f3dd1fd88766d9150d3d395b285bfa75f5b89a835822381490c8428e6e568889054ddb5fada1eb63613a6441989151bc7c7d6cde16a871c6674b909c4edd4e28 kafka_2.13-2.7.0.tgz
但是shasum
/sha512sum
似乎不喜欢.512
文件的格式来做程序化验证(0退出代码成功,1 失败)。
$ sha512sum --check kafka_2.13-2.7.0.tgz.sha512
sha512sum: kafka_2.13-2.7.0.tgz.sha512: no properly formatted SHA512 checksum lines found
$ echo "$(cat kafka_2.13-2.7.0.tgz.sha512) kafka_2.13-2.7.0.tgz" \
| sha512sum --check
sha512sum: 'standard input': no properly formatted SHA512 checksum lines found
我这里有什么问题吗? kafka_2.13-2.7.0.tgz.sha512 是非常规格式还是我缺少命令行标志?
好像 kafka 正在使用 gpg --print-md sha512
https://github.com/apache/kafka/blob/trunk/release.py#L616
验证由 diff
然后
完成
$ gpg --print-md SHA512 kafka_2.13-2.7.0.tgz | diff - kafka_2.13-2.7.0.tgz.sha512
我想以编程方式验证 Kafka 二进制文件的 sha512 校验和。首先,我下载二进制文件和 sha512 和文本文件:
curl -fsSL -O \
https://ftp.wayne.edu/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
curl -fsSL -O \
https://downloads.apache.org/kafka/2.7.0/kafka_2.13-2.7.0.tgz.sha512
我通过人工检查知道校验和没问题:
$ cat -ne kafka_2.13-2.7.0.tgz.sha512
1 kafka_2.13-2.7.0.tgz: F3DD1FD8 8766D915 0D3D395B 285BFA75 F5B89A83 58223814$
2 90C8428E 6E568889 054DDB5F ADA1EB63 613A6441 989151BC$
3 7C7D6CDE 16A871C6 674B909C 4EDD4E28$
$ sha512sum kafka_2.13-2.7.0.tgz
f3dd1fd88766d9150d3d395b285bfa75f5b89a835822381490c8428e6e568889054ddb5fada1eb63613a6441989151bc7c7d6cde16a871c6674b909c4edd4e28 kafka_2.13-2.7.0.tgz
但是shasum
/sha512sum
似乎不喜欢.512
文件的格式来做程序化验证(0退出代码成功,1 失败)。
$ sha512sum --check kafka_2.13-2.7.0.tgz.sha512
sha512sum: kafka_2.13-2.7.0.tgz.sha512: no properly formatted SHA512 checksum lines found
$ echo "$(cat kafka_2.13-2.7.0.tgz.sha512) kafka_2.13-2.7.0.tgz" \
| sha512sum --check
sha512sum: 'standard input': no properly formatted SHA512 checksum lines found
我这里有什么问题吗? kafka_2.13-2.7.0.tgz.sha512 是非常规格式还是我缺少命令行标志?
好像 kafka 正在使用 gpg --print-md sha512
https://github.com/apache/kafka/blob/trunk/release.py#L616
验证由 diff
然后
$ gpg --print-md SHA512 kafka_2.13-2.7.0.tgz | diff - kafka_2.13-2.7.0.tgz.sha512