跳到主要内容
PulsarKit

PDF加密

给PDF设置打开密码,用AES-256加密,并决定别人能否打印、复制或编辑。

把文件拖到这里

.pdf · 最大300 MB

如何加密PDF

  1. 1

    拖入PDF

    添加一个文档,或最多二十个。文件由你的浏览器打开,不会发送到任何地方。

  2. 2

    输入两次密码并选择权限

    第二个输入框用来防止打错字,否则这种错误可能要到第二天才会发现。然后选择文件打开后是否仍允许打印、复制、编辑和添加批注。

  3. 3

    下载加密后的文件

    保存加密后的副本,然后分享。批量处理的结果会打包成一个ZIP压缩包,每个文件都用同一个密码加密。

密码起什么作用

这里的加密不是一个让阅读器“自觉遵守”的标记。整个内容流都用AES-256加密,也就是PDF 2.0定义的第6版修订(revision 6);没有密码,就没有任何可以显示的内容:页面文字、字体和图片在磁盘上都是密文。Acrobat、“预览”、Chrome、Edge和所有Android阅读器在显示任何一行之前都会要求输入密码,任何试图用程序库读取文件的脚本也一样。这就是真正受保护的文档和只是“客气地请求”的文档之间的区别。

权限是第二层,防护更弱

打印、复制、编辑和添加批注,以权限位的形式和密码存放在一起。遵守规范的阅读器会执行这些权限,把对应的菜单项变成灰色;文件通过邮件转来转去,这些权限位也会保留。不过,它们由阅读器执行,而不是由数学保证,所以把它们当作给同事的一份明确说明,而不是挡住执着工程师的屏障。真正起作用的是打开密码。

文件和密码都留在你的设备上

qpdf编译成WebAssembly,在这个页面里运行。文档读入浏览器内存,在那里加密,然后直接作为下载交还给你。输入密码的表单从不发出网络请求,所以密码不会传输、不会记录到日志,也不会存储下来。关闭标签页,两者都会消失。

常见问题

为什么用AES-256,而不是128位加密?

因为旧的加密方案实际上已经被攻破。40位和128位的RC4,用公开多年的工具就能破解;PDF里的AES-128又绑定了一种较弱的密钥派生方式。只有AES-256加第6版修订值得提供,所以这里只有这一种。

PDF会上传到服务器吗?

不会。加密引擎是在这个标签页里运行的WebAssembly,所以文档从不离开你的电脑:没有排队,没有临时副本,也不会留下需要谁日后删除的东西。你输入的密码也是如此。

用户密码和所有者密码有什么区别?

用户密码用来打开文档:没有它,文件根本无法读取。所有者密码只管权限:任何人都能打开文件,但打印或复制可能被禁止。所有者密码一栏留空时,两个密码会设成同一个值。

忘记密码怎么办?

文档就打不开了。AES-256没有后门,也没有恢复码,而且我们原则上不猜测、不暴力破解密码。关闭这个标签页之前,把密码记进密码管理器,并把未加密的原文件放在安全的地方。

加密的文件能在Acrobat、“预览”和Android上打开吗?

能。AES-256第6版修订是PDF 2.0标准的一部分,Acrobat 9及以后的版本、Apple“预览”、Chrome、Edge、Firefox以及常见的Android和iOS阅读器都支持。2009年以前的很旧的软件可能打不开,这是使用强加密的代价。

以后还能去掉密码吗?

能,用我们的PDF解密工具,而且只能由你自己输入密码。它会解密你本来就能打开的文档,并解除打印和复制限制,但不会找回或猜出你忘记的密码。

打印和复制限制有多可靠?

主流阅读器都会遵守,用它们告诉同事你对这份文档的要求也是正确的做法。但它们不是密码学上的保护,知道打开密码、又有合适软件的人可以绕过。真正机密的内容,应该放在打开密码后面。

指南

相关工具