PDF加密怎么设置?一文搞懂PDF密码保护的3种方式
文章摘要
详解PDF加密的三种方式:打开密码、权限密码和证书加密。教你如何给PDF设置密码保护,以及如何破解忘记的PDF密码。包含实用工具推荐和Python代码实现。
PDF加密怎么设置?3种方式全解析
从密码保护到证书加密的完整方案
上周客户发来个需求:合同PDF要加密,只能给甲方打开,而且不能复制内容。这涉及到PDF的两种密码机制。很多人分不清"打开密码"和"权限密码",今天就来详细说说。
PDF的3种加密方式
也叫"用户密码",打开PDF时必须输入。不知道密码就完全看不到内容。
适用场景:机密文件、私人文档
也叫"所有者密码",文件能打开,但限制打印、复制、编辑等操作。
适用场景:版权保护、防止篡改
用数字证书加密,只有持有对应证书的人才能打开。安全级别最高。
适用场景:企业级文档管理、高安全需求
如何给PDF设置密码
方法1:Adobe Acrobat(最专业)
1. 打开PDF,点击"工具" → "保护"
2. 选择"使用密码加密"
3. 勾选"要求密码才能打开文档",输入密码
4. (可选)设置权限密码,限制打印、复制等
5. 点击"确定",保存文件
方法2:WPS Office(免费简单)
1. 打开PDF,点击"文件" → "文档加密"
2. 选择"密码加密"
3. 设置打开密码或权限密码
4. 保存即可(部分功能需要会员)
用Python加密PDF
from PyPDF2 import PdfReader, PdfWriter
def encrypt_pdf(input_path, output_path, user_pwd, owner_pwd):
"""给PDF设置密码"""
reader = PdfReader(input_path)
writer = PdfWriter()
# 复制所有页面
for page in reader.pages:
writer.add_page(page)
# 加密设置
writer.encrypt(
user_password=user_pwd, # 打开密码
owner_password=owner_pwd, # 权限密码
permissions_flag=0b0000 # 禁止所有操作
)
# 保存
with open(output_path, 'wb') as f:
writer.write(f)
print("加密成功!")
# 使用
encrypt_pdf(
'input.pdf',
'encrypted.pdf',
user_pwd='open123', # 打开密码
owner_pwd='admin456' # 权限密码
)
💡 权限控制:可以精细控制打印、复制、编辑、批注等权限。比如允许打印但禁止复制文字,或者只允许添加批注但不能修改内容。
忘记密码怎么办?
PDF密码忘了很常见,以下是应对方法:
加密强度对比
• 权限密码只是"君子协定",技术上可以绕过。真正机密文件务必设置打开密码
• 密码长度至少8位,包含大小写字母+数字+符号
• 旧版PDF(1.4以前)加密很弱,建议重新加密为AES-256
PDF加密看似简单,实则有不少门道。打开密码用于完全保密,权限密码用于版权保护,证书加密用于企业管理——根据需求选对方式很重要。记住:加密只是第一步,妥善保管密码同样关键。丢了密码,神仙也打不开文件。