我正在尝试在我的应用中阅读PDF。我偶然发现了AES加密的PDF文件。
据我所知,在PDF方案中,在AES方案中,字符串和流应填充到16个长度的倍数。前16个字节是未编码形式的IV。
但是,在我的PDF中,字符串的长度不是16的倍数。这些字符串的解密可能会失败。
以下是PDF的详细信息:
部首:
%PDF-1.6
加密字典:
<</Length 128/Filter/Standard/O(...)/P -1340/R 3/U(...)/V 2>>
因此,PDF版本为1.6,加密版本为2,版本为3 - 在此条件下,PDF参考说明使用了AES方案。
编码字符串示例:
Author(Í¡c$5N8 ¶ŽÜß*绫ÈÙÏ)
,长度为29。
请注意,我可以按照“验证用户密码”算法中的说明验证用户密码,并显示有效。
修改: 唯一合乎逻辑的答案是“因为它不是AES加密的”。实际上,当强制加密到RC4时,PDF解密就好了。
所以问题是“如何判断是使用AES还是RC4?”