← 退出

PDF 打包为密码保护 ZIP

把 PDF 打包进需要密码才能解压的 ZIP(非 PDF 原生加密)

纯前端无法可靠地给 PDF 文件本身加密(需要专业加密引擎)。这里采用替代方案:把 PDF 打包进一个需要密码才能解压的 ZIP 压缩包,效果上同样是"没密码打不开"。
选择 PDF 文件

关于PDF 打包为密码保护 ZIP

这个工具并不是给 PDF 文件本身加密。它的做法是把你的 PDF 打包进一个需要密码才能解压的 ZIP 压缩包:别人拿到这个 ZIP,没有密码就无法取出里面的 PDF。这一点和 PDF 自带的「打开密码」不同——PDF 本身没有被改动,打开 PDF 时也不会弹出密码框,密码只在解压 ZIP 时才会用到。工具同时提供反向操作:选择由本工具生成的加密 ZIP,输入密码后取回里面的文件。

操作步骤

  1. 页面顶部有两个切换按钮:「加密(PDF → 加密ZIP)」和「解密(加密ZIP → PDF)」,先选择你要做的操作。切换模式会清空已选文件和结果。
  2. 加密时,点击虚线区域「选择 PDF 文件」选取要保护的 PDF;解密时,选取加密的 ZIP 文件。选好后虚线区域会显示文件名。
  3. 在「密码」输入框填写密码。加密模式下,输入框下方会实时显示密码强度(较弱、中等或强)。注意密码是明文显示的,输入时请留意周围环境。
  4. 点击「加密并生成 ZIP」(或解密模式下的「输入密码解密」)。也可以在密码框里直接按回车。未选文件或未填密码时按钮不可点击。
  5. 处理成功后页面显示「处理完成:文件名」,点击「下载」保存。加密结果的文件名是原文件名加上 -protected.zip;解密得到的是压缩包内第一个文件,沿用压缩包里的原文件名。

一个实际验证的例子

为了确认这种打包方式确实有效,我们用工具所使用的同一个压缩库(zip.js)在本地做了一次测试:把一段 5200 字节的模拟内容(重复文本,并非真正的 PDF)用密码 Abc123!x 加密打包,得到的 ZIP 大小为 265 字节(模拟内容高度重复,所以压缩得很小,真实 PDF 的体积变化要看其自身内容,很多 PDF 本身已经压缩过,几乎不会变小)。测试结果是:不输入密码直接取内容会报错 File contains encrypted entry;输入错误密码会报错 Invalid password;输入正确密码则能完整取回 5200 字节。同时测试也表明,压缩包里的文件名在没有密码时仍然可以被列出来看到——也就是说,密码保护的是文件内容,文件名本身不是秘密,所以不要把敏感信息写进文件名。

支持范围与已知限制

  • 这不是 PDF 原生加密。收件人如果拿到的是解压后的 PDF,里面没有任何保护;你的保护只在 ZIP 阶段有效。如果你需要「打开 PDF 时必须输入密码」或限制打印、复制,这个工具做不到。
  • 加密使用 zip.js 库的默认设置,即 ZIP 的 AES 加密。收件人需要能处理 AES 加密 ZIP 的解压软件(如较新版本的 7-Zip、WinRAR、Keka 等);系统自带的解压功能对 AES 加密的支持因平台和版本而异,部分旧版本可能不能解压。
  • 解密功能是为本工具生成的压缩包设计的:只会取出压缩包里的第一个文件。如果是多文件压缩包,只能取到第一个;密码错误或不是合适的加密压缩包时,会统一提示「解密失败,密码错误或文件不是本工具生成的加密压缩包」。
  • 一次只能处理一个文件。加密时文件选择框默认只列出 PDF 文件;工具不会检查文件内容是否真的是 PDF。
  • 密码强度提示只是根据长度、大小写、数字和符号的简单规则给出的参考,不代表真实的抗破解能力。密码以明文显示,而且本工具不会保存或帮你找回密码,密码丢失后文件无法恢复。
  • 整个文件会在浏览器内存里处理,特别大的文件可能导致页面卡顿或失败。

常见问题:这和 PDF 自带的密码保护有什么区别?

PDF 自带的密码保护是写进 PDF 文件本身的,任何 PDF 阅读器打开时都会要求输入密码。而本工具生成的是一个加密 ZIP,PDF 文件原封不动地放在里面,只有解压这一步需要密码。收件人解压之后拿到的是一份没有任何限制的普通 PDF。因此它更适合在传输、存放过程中保护文件,不适合要求「每次打开都输入密码」的场景。

常见问题:收件人怎么打开加密后的文件?

把生成的 .zip 文件和密码分开发给对方(比如文件走邮件,密码走另一个渠道),对方用支持 AES 加密的解压软件输入密码即可解压。也可以让对方回到这个页面,切换到「解密」模式,选择 ZIP 并输入密码,直接取回 PDF。如果对方的系统自带解压工具无法处理,建议改用上述第三方解压软件。

常见问题:忘记密码怎么办?

无法找回。工具不会保存密码,也没有后门。密码是由你输入后直接用于加密的,丢失就意味着压缩包里的内容无法再取出,请自行妥善保管。建议用密码管理器生成并保存较长的随机密码。

常见问题:选哪种强度的密码比较合适?

页面上的强度提示会按长度(6 位、10 位两档)、是否混合大小写、是否含数字、是否含符号累计打分,得分 0 到 1 显示「较弱」,2 到 3 显示「中等」,4 以上显示「强」。这只是一个简单的参考。实际使用中,越长越随机越好,避免生日、手机号和常见单词;如果文件很敏感,请使用更长的随机密码。

隐私与处理方式

打包和解密都在你的浏览器里完成:PDF 通过浏览器读入,由页面中运行的 zip.js 库在本地生成加密 ZIP,下载时使用的是本地生成的临时链接。工具不会把你的文件或密码发送到服务器,也不要求注册登录。处理完成后关闭或刷新页面,文件和密码都会从页面中清除。需要提醒的是,密码输入框是明文显示的,请在安全的环境下使用。