Packaging

將校驗和資訊附加到文件

  • October 5, 2016

我想將校驗和資訊嵌入到我傳輸的文件中。它是tar.gztar.xz文件,我只能將一個文件傳輸到遠端端。

你如何建議我嵌入校驗和資訊?

我想要整個存檔的校驗和,而不是它的內容(我想在“解包之前”檢查它的完整性)。

我知道我可以以某種支持校驗和的格式(如rar)再次打包它,但是“重新打包”東西的計算成本,只是為了添加校驗和(另一方面,我不喜歡rar格式)。所以首選類似gzip&gunzip等,但用於添加、檢查和刪除校驗和。

任何工具、想法、腳本、解決方法?

我是對的.xz.gz支持串聯嗎?也許值得使用此功能在文件末尾附加壓縮校驗和?

cat file.gz file.gz.sig > transfer_me.signed

然後,在遠端主機上,您使用

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

注意第二個命令中的減號。長度取決於您使用的校驗和類型。你可以只

md5sum file.gz | cut -d ' ' -f 1 > file.gz.sig

另請注意,通過這種方式,您也可以transfer_me.signed直接解壓縮文件而無需拆分,因為tar將忽略尾隨的“垃圾”。


具有附加加密或加擾機制的類似解決方案用於為許多移動設備(例如Amazon Kindles )簽署更新。但在他們的情況下,存檔文件標識是不受歡迎的,因此他們將所有指紋資訊放在更新文件的開頭

引用自:https://unix.stackexchange.com/questions/25129