2017-04-04 146 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

我不认为会有任何重大的开销,但是您应该针对您的用例 –