2017-04-04 101 views
0

有沒有基於文件內容識別PGP加密文件的方法(如通過在文件開始處查找字母「PK」來識別ZIP文件的方式)?有沒有與PGP加密文件相關的幻數?識別PGP加密文件

我們從客戶端收到多個文件,並且不知道哪些文件是PGP加密的。我需要編寫Java代碼來識別PGP文件並自動解密它們。謝謝!

+0

工作,我不這麼認爲。您可能需要反向操作,爲其他文件類型運行測試,並假設它不符合任何其他格式測試,則將其加密。 – AntonH

+0

我不確定您是否可以選擇可能帶有魔術標識符的某些容器格式,但密碼輸出的設計標準之一通常是......密文必須與隨機字節無法區分...所以也許運行在文件中進行分佈計算,看它是否看起來像純粹的隨機性......;)...雖然不會告訴你它是pgp還是其他密碼套件 – DarkSquirrel42

+0

看看OpenPGP消息格式規範([RFC 4880 ](https://tools.ietf.org/html/rfc4880)) –

回答

0

你可以用OpenPGP Library for Java(商品)做到這一點。下面是一個簡單的例子:

PGPInspectLib inspect = new PGPInspectLib(); 
if (inspect.isPublicKeyEncrypted(dataFileName)) { 
// file is PGP encrypted 
} 

聲明:我DidiSoft

+0

DidSoft是一個付費圖書館,我正在尋找一些開源解決方案。這種檢查是否有任何性能影響? – Aman

+0

我不認爲會有任何重大的開銷,但是您應該針對您的用例 –