受密码保护的 PDF 到底存了什么
加密的 PDF 在它的 trailer 里保留一个 /Encrypt 字典,描述这份文件当初是怎么被保护的:普通密码情形下是 /Filter /Standard,一个 40、128 或 256 位的密钥,以及一个说明用了哪套规则的修订号——RC4 是 2 和 3,AES-128 是 4,AES-256 是 6。两把密钥从两个密码派生出来,每一个字符串和流都用由它们构建的密钥加密。
这就是为什么知道密码就足够了。没有任何东西需要被攻破,也不涉及暴力破解:文件携带了重新计算密钥所需的一切,密码就是那个缺失的成分。这也是为什么这个工具帮不了一份你不知道密码的文件,以及为什么受证书保护的文件会被直接拒绝——那里的密钥根本不是从密码派生出来的,所以任何密码都不会起作用。
出来的副本里不再有加密,这也是「解锁」唯一诚实的含义:所有者密码所携带的那些限制——不许打印、不许复制、不许编辑——随之消失,因为一份没有加密的 PDF 没有任何地方保存它们。