PDF文件的口令加密及证书加密如何解除?

网络高速发展的今天,PDF文件格式已经随处可见,成为比较流行的文档发布、网络分发的文件格式。拿咱们大家论坛来说,大多数资料或是课件都是PDF格式的,其广泛程度可想而知了。正是由于其使用广泛,所以PDF文件的使用方便与否很是重要。可是,资料繁多,难免会遇到有些PDF是加密的,有的是口令加密,还有一些是证书加密的,给大家查看、打印都带了或多或少的麻烦。那么如何解除这些限制呢?

0. 判断文件是口令加密还是证书加密?

要想解除限制,首先得看加密的PDF是哪种安全性设置,使用 Adobe ReaderAdobe Acrobat打开您手头的加密文件,在菜单中 文件 -> 文件属性,查看 安全性 标签,如下图:

pdf encrypt 01.png
2010-9-9 21:30 上传
下载附件 (119.86 KB)


图中下拉框中列出了 安全性方法,其中有 口令加安全性证书安全性 两项。口令安全性是指给PDF加了个密码,把文档的某些属性保护起来,这种安全性方法相对好破解;而证书安全性则不同,它是PDF制作者使用由自己通过Acrobat生成的证书把PDF文件保护起来的一种方法,这种方法不太好解除限制,不过,此帖自有妙计。


1. 口令加密如何破解密码?

如果是口令加密的PDF文件,直接下载安装 Elcomsoft Advanced PDF Password Recovery Professional v5.05 这个软件。使用它打开加密的PDF文件,会弹出一个APDFPR对话框,如下图:

pdf encrypt 02.png
2010-9-9 21:30 上传
下载附件 (84.25 KB)


图中可以看到,左边是 Decrypt now(立即破解),直接点这个按钮就可以把PDF的密码解除!另外,中间一个按钮是 Start the attack,这个是试图把PDF的密码给猜出来,用时比较长,大家还是不要试了,最左边的 Decrypt now 就足矣。


2. 证书加密的PDF文件如何解除限制?

证书加密的PDF文件在解除限制的时候步骤可能稍多一些,首先我们要 导入证书没有证书是无法继续下面的操作的),证书的导入方法可以看这个帖子: http://club.topsage.com/thread-216344-1-1.html,依照这个帖子里的方法,把您手头证书加密的PDF 对应的证书 导入( 哪里得到的资料,哪里去获得证书)。

OK! 证书有了以后,我们下载 Foxit PDF Edit 2.1.0 Build 0119 ( 此Foxit PDF Edit版本无视证书加密),解压后就能直接使用,是绿色软件。使用它打开证书加密的PDF文件,依下图所示,点击菜单 文档 -> 导出页面

pdf encrypt 03.png
2010-9-9 21:31 上传
下载附件 (82.78 KB)


打开 导出页面 窗口,如下图,图中①是解密后要保存的文件名;②是要导出页面的范围;③是当前PDF文件的页码。
注意,图中②是要导出页面的范围,可以是连续的页面(如1-28),也可以是非连续的(如1,2,3,28),也可以是连接加非连续的(如1,2,10-28)

pdf encrypt 04.png
2010-9-9 21:31 上传
下载附件 (60.71 KB)


设置好后直接点左下角的 确定,就可以把证书加密的PDF文件中的页面导出到新的PDF文件了,这个新的PDF文件就是无限制的了,查看、打印
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想要读取一个加密PDF 文件,需要先解除加密限制。解除加密限制的方法取决于加密方式,这里介绍两种常见的加密方式的解除方法: 1. 用户密码加密 如果 PDF 文件是通过用户密码加密的,你需要知道密码才能解除加密限制。可以使用 PyPDF2 模块中的 PdfFileReader 类的 decrypt() 方法来解除加密限制。示例代码如下: ``` import PyPDF2 # 打开加密PDF 文件 pdf_file = open('encrypted.pdf', 'rb') # 创建一个 PDF 读取器对象 pdf_reader = PyPDF2.PdfFileReader(pdf_file) # 解密 PDF 文件 if pdf_reader.isEncrypted: password = input("请输入密码:") pdf_reader.decrypt(password) # 读取 PDF 文件内容 for page_num in range(pdf_reader.numPages): page = pdf_reader.getPage(page_num) print(page.extractText()) # 关闭 PDF 文件 pdf_file.close() ``` 在上述代码中,使用 isEncrypted 属性判断 PDF 文件是否加密,如果加密则需要输入密码解密。然后可以使用 getPage() 方法获取每一页的内容,使用 extractText() 方法提取文本内容。最后关闭 PDF 文件。 2. 打印密码加密 如果 PDF 文件是通过打印密码加密的,你需要知道密码才能解除加密限制。可以使用 PyPDF2 模块中的 PdfFileReader 类的 decrypt() 方法来解除加密限制。示例代码如下: ``` import PyPDF2 # 打开加密PDF 文件 pdf_file = open('encrypted.pdf', 'rb') # 创建一个 PDF 读取器对象 pdf_reader = PyPDF2.PdfFileReader(pdf_file) # 解密 PDF 文件 if pdf_reader.isEncrypted: password = input("请输入打印密码:") pdf_reader.decrypt(password) # 读取 PDF 文件内容 for page_num in range(pdf_reader.numPages): page = pdf_reader.getPage(page_num) print(page.extractText()) # 关闭 PDF 文件 pdf_file.close() ``` 在上述代码中,使用 isEncrypted 属性判断 PDF 文件是否加密,如果加密则需要输入打印密码解密。然后可以使用 getPage() 方法获取每一页的内容,使用 extractText() 方法提取文本内容。最后关闭 PDF 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值