Backup

PGP 解密失敗,一個文件出錯

  • February 5, 2013

我們儲存使用PGP 命令行 9.7.0加密的數據庫備份。文件看起來像2009.bak.pgp

這是用於備份這些文件的命令行:

pgp --encrypt F:\2009.bak --recipient admin@company.mail --encrypt-to-self --input-cleanup off --temp-dir F:\TEMP\ -v    

使用此命令可以很好地恢復所有這些備份

pgp --decrypt F:\2009.bak.pgp --passphrase "18_characters_password" --temp-dir F:\Temp -v --output F:\2009.bak

所有這些,除了一個,都失敗了這個錯誤:

Decoding file F:\2009.bak.pgp... 32% (2.1GB)   F:\2009.bak.pgp:decrypt (3090:operation failed, error decompressing data)
Wiping file F:\Temp\pgp-5532-0.tmp... 1%

我還嘗試使用以下命令在 Linux 機器上解密此文件:

gpg -v <2009.bak.pgp> 2009.bak

但它也因此錯誤而失敗:

gpg: Fatal: zlib inflate problem: invalid block type

是否有可能恢復此文件?也許使用 HEX 編輯器或類似的東西?我們真的需要恢復這個文件!

我很感激任何建議!

解壓發生在解密之後,所以理論上可以讓 GPG 寫出壓縮後的數據流。我不確定是否有股票期權可以做到這一點——你可能不得不在源頭上四處亂竄。

但是,一旦您獲得了損壞的數據流,我不確定您是否會對恢復數據抱有太大希望。我看到具有完整刷新點的 zlib 輸出可以部分恢復,但我不了解如何在 PGP 中使用 zlib 壓縮的技術細節。如果我不得不猜測,我會說你運氣不好。

如果這是我的數據,我會嘗試破解 GPG 以寫出壓縮流,然後熟悉 zlib 的文件,看看我能解決什麼問題。

聽起來您在進行備份時沒有驗證您的備份是否可以恢復。如果不出意外,您正在學習有關在實際需要恢復之前測試恢復的寶貴經驗。

引用自:https://serverfault.com/questions/473312