将校验和信息附加到文件

Grz*_*cki 6 packaging archive compression checksum

我想将校验和信息嵌入到我传输的文件中。它是tar.gztar.xz文件,我只能将一个文件传输到远程端。

您如何建议我嵌入校验和信息?

我想要整个档案的校验和,而不是它的内容(我想在“解包之前”检查它的完整性)。

我知道我可以以某种支持校验和的格式(如rar)重新打包它,但是“重新打包”东西的计算成本,只是为了添加校验和(另一方面我不喜欢rar格式)。所以首选是gzip& gunzipetc 之类的东西,但用于添加、检查和删除校验和。

任何工具、想法、脚本、解决方法?

我是对的.xz.gz支持串联吗?也许值得使用此功能在文件末尾附加压缩校验和?

roz*_*acz 6

cat file.gz file.gz.sig > transfer_me.signed
Run Code Online (Sandbox Code Playgroud)

然后,在远程主机上,您使用以下命令拆分附加的校验和

tail -c length_of_the_checksum_info transfer_me.signed > file.gz.sig
head -c -length_of_the_checksum_info transfer_me.signed > file.gz
Run Code Online (Sandbox Code Playgroud)

注意第二个命令中的减号。长度取决于您使用的校验和类型。你可以只

md5sum file.gz | cut -d ' ' -f 1 > file.gz.sig
Run Code Online (Sandbox Code Playgroud)

另请注意,通过这种方式,您还可以transfer_me.signed直接解压缩文件而无需拆分,因为tar会忽略尾随的“垃圾”。


带有附加加密或加扰机制的类似解决方案用于为许多移动设备(例如Amazon Kindle)签署更新。但在他们的情况下,存档文件标识是不受欢迎的,因此他们将所有指纹信息放在更新文件的开头