识别PGP加密文件
问题描述:
有没有基于文件内容识别PGP加密文件的方法(如通过在文件开始处查找字母“PK”来识别ZIP文件的方式)?有没有与PGP加密文件相关的幻数?识别PGP加密文件
我们从客户端收到多个文件,并且不知道哪些文件是PGP加密的。我需要编写Java代码来识别PGP文件并自动解密它们。谢谢!
答
你可以用OpenPGP Library for Java(商品)做到这一点。下面是一个简单的例子:
PGPInspectLib inspect = new PGPInspectLib();
if (inspect.isPublicKeyEncrypted(dataFileName)) {
// file is PGP encrypted
}
声明:我DidiSoft
+0
DidSoft是一个付费图书馆,我正在寻找一些开源解决方案。这种检查是否有任何性能影响? – Aman
+0
我不认为会有任何重大的开销,但是您应该针对您的用例 –
工作,我不这么认为。您可能需要反向操作,为其他文件类型运行测试,并假设它不符合任何其他格式测试,则将其加密。 – AntonH
我不确定您是否可以选择可能带有魔术标识符的某些容器格式,但密码输出的设计标准之一通常是......密文必须与随机字节无法区分...所以也许运行在文件中进行分布计算,看它是否看起来像纯粹的随机性......;)...虽然不会告诉你它是pgp还是其他密码套件 – DarkSquirrel42
看看OpenPGP消息格式规范([RFC 4880 ](https://tools.ietf.org/html/rfc4880)) –