PDF 加密 / 解密

给 PDF 加上打开密码,或从你已能打开的 PDF 上移除它——AES-256 或 RC4-128,都在当前标签页完成。

等待添加 PDF

添加一份 PDF 来加密保护它,或解锁一份带密码的 PDF。

把 PDF 拖到卡片上、按 ⌘V / Ctrl+V 粘贴,或选择文件。工具会自动判断它是否加密并显示对应的选项——没有单独的「检测」步骤。

仅支持 PDF · 最大 50 MB · 2,000 页 · 密码最长 127 字节。

文件和你的密码都只留在当前标签页:不上传、不存储、不记录日志,任何密码都不会写进文件名或 URL。

手边没有 PDF?载入本地生成的三页示例,试试先加密、再解密。

如何使用

  1. 把一份 PDF 拖到卡片上、按 ⌘V / Ctrl+V 粘贴,或点「选择 PDF」。工具只读取文件尾部(trailer)来判断它是否加密,然后自动显示对应的选项——没有单独的「检测」按钮,也不会猜测密码。
  2. 加密保护:输入打开密码(并确认)。展开「权限限制与所有者密码」面板可限制打印、复制、编辑等,设置所有者密码,并选择 AES-256 或 RC4-128。点「加密」,然后下载带「-protected」后缀的新文件。
  3. 解锁:对已加密的文件,输入它的打开密码或所有者密码并点「解密」;对只有权限限制的文件,无需密码直接点「移除限制」。可将结果重新上传、用你设置的密码打开来验证。密码从不保存,也无法找回。

示例

contract.pdf — 未加密

打开密码:Q3-2026
限制:禁止复制、禁止修改
算法:AES-256

你会得到

contract-protected.pdf
AES-256(256 位)· 打印:允许 · 复制:不允许 · 修改:不允许 · 批注/表单:允许 · 整理:不允许 · 无障碍:允许 · 3 页

输出文件名由源文件基本名加固定的「-protected」/「-unlocked」后缀组成;后缀不翻译,以保证文件仍可被机器识别。PDF 内部的标题随页面语言,但你的密码绝不会出现在文件名或文档内容里。

规则、限制与已知问题

  • 全程不上传:文件用 File API 读取,在本标签页内加密或解密。页面不发网络请求、不写存储、不留历史——刷新后回到空态。
  • 密码只在内存中留存用于密钥派生。它绝不会写入文件名、URL、存储或日志,密码输入框的内容也绝不复用到输出中。
  • 只支持密码(标准安全处理器)加密。证书/公钥加密(adbe.pkcs7)和已签名文档会被拒绝,而不是被静默降级。
  • 加密只产出 AES-256(V=5/R=6)或 RC4-128(V=2/R=3),不产出 40 位 RC4 或 AES-128。解密可读取标准的 RC4-40/128、AES-128 与 AES-256 组合;遇到非标准方案会被拒绝,而不是输出损坏的文件。
  • 权限限制(/P)由阅读器自愿遵守,通常不用所有者密码也往往能被解除;它不是保守文档秘密的手段。真正需要保密时请使用打开密码。
  • 忘记的密码无法找回,本工具也不提供任何绕过方式:不知道打开密码就是打不开。
  • 加密或解密不会改变页面内容和页数,但不保证保留表单外观、书签/大纲、附件、图层、媒体、增量更新历史或数字签名的有效性。
  • 输出的字节一定会变化;加密后的文件可能比源文件更大也可能更小,解密后的文件会展开打包的对象流。不存在「体积不变」的承诺。
  • 较旧或小众的阅读器可能打不开 AES-256。遇到这种情况,请改用 RC4-128 重新加密。
  • 密码按其 UTF-8 字节做哈希。这与符合标准的生成软件一致,但一些把密码当作 Latin-1 处理的旧软件会派生出不同的密钥,因此含非 ASCII 字符的密码可能在个别软件中打不开。这是规范层面的差异,如实说明。
  • 上限:一份 PDF、50 MB、2,000 页、密码最长 127 字节。超出限制的文件或密码会被拒绝,而不是被静默截断。超过 20 MB 或 300 页的任务会显示「可能需要几秒」提示,并在主线程执行、期间主动让出以保证页面可响应。

同样完全在当前标签页内运行的其它文档工具。