如何对PDF的加密和破解?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: PDF文档的加密与暴力破解加密文档

对于私密的PDF文档,为了不让别人查看里面的内容,我们需要设置一个密码。可以利用Python来实现,在PyPDF2模块中,调用encrypt()方法,可以为PDF文档设置密码。

操作系统:macOS Monterey 12.5

IDE:Pycharm 2021.3

语言:Python3.9

1. PDF文档的加密
加密原理:对PDF文档进行加密的原理其实很简单,不断读取“7.pdf“每一页中的内容,将其写入pdf_writer对象中。在将该对象作为PDF文档写到本地前,调用encrypt()方法,完成密码设置。代码如下:

from PyPDF2 import PdfFileReader, PdfFileWriter

pdf_reader = PdfFileReader('7.pdf')
pdf_writer = PdfFileWriter()
pages = pdf_reader.getNumPages()
for i in range(pages):
    content = pdf_reader.getPage(i)
    pdf_writer.addPage(content)

pdf_writer.encrypt('123456')

with open('7_加密.pdf', 'wb') as p:
    pdf_writer.write(p)

运行结果如下图所示:
image.png

2. PDF文档的暴力破解
在PyPDF2模块中,调用decrypt()方法,通过读取密码字典文件里的密码,暴力破解,即可完成PDF文档的解密。源码如下:

# PDF文档的解密
from PyPDF2 import PdfFileReader, PdfFileWriter

pdf_reader = PdfFileReader('7_加密.pdf')
pdf_writer = PdfFileWriter()

# 读取密码字典文件里的密码,进行暴力破解
with open('password.txt', 'r') as f:
    for passwrd in f.readlines():
        if pdf_reader.decrypt(passwrd.strip()):
            print(f'文件已破解!!! 密码为{passwrd.strip()}')
            pages = pdf_reader.getNumPages()
            for i in range(pages):
                content = pdf_reader.getPage(i)
                pdf_writer.addPage(content)
            with open('new_7.pdf', 'wb') as pdf:
                pdf_writer.write(pdf)

运行结果如下:

image.png

打开破解文件如下图所示:

image.png

相关文章
|
2月前
|
数据安全/隐私保护 Python
Zipfile学习笔记(二)::通过zipfile模块暴力破解加密的压缩文件
如何使用Python的zipfile模块生成密码表并尝试暴力破解加密的ZIP压缩文件。
41 1
Zipfile学习笔记(二)::通过zipfile模块暴力破解加密的压缩文件
|
2月前
|
IDE 开发工具 数据安全/隐私保护
Python编程实现批量md5加密pdf文件
Python编程实现批量md5加密pdf文件
38 0
|
4月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
351 0
|
7月前
|
算法 安全 量子技术
构建未来:量子计算机在加密破解中的应用展望
【5月更文挑战第17天】 随着量子计算的不断进步,其对传统加密技术构成的潜在威胁已成为信息安全领域关注的焦点。本文将深入探讨量子计算机如何利用其独特的计算优势破解现有加密算法,同时概述了抗量子密码学的发展趋势和挑战,旨在为未来的加密技术提供前瞻性的安全策略。
|
7月前
|
安全 算法 量子技术
构建未来:量子计算在加密破解中的应用前瞻
【5月更文挑战第21天】 随着量子计算机的理论与实践不断进步,其对传统加密技术构成的潜在威胁日益凸显。本文深入探讨了量子计算特别是Shor算法对当前RSA加密体系的影响,并分析了量子安全密码学的发展趋势,如量子密钥分发(QKD)等。文章旨在为读者提供一个关于量子计算如何可能改变我们数字安全领域的全面视角,同时强调了提前准备和适应这一颠覆性技术的重要性。
|
7月前
|
安全 算法 网络安全
构建未来:量子计算在加密破解中的应用展望
随着量子信息科学的迅猛发展,量子计算技术已逐渐从理论走向实践。本文旨在探讨量子计算对传统加密算法的冲击及其在未来加密破解领域的应用潜力。通过分析量子计算的基本原理和目前的技术进展,我们着重讨论了量子计算机如何处理复杂的数学问题,以及它如何能够在理论上破解广泛使用的公钥加密体系。文章还提出了针对量子计算威胁下的加密策略调整建议,为未来的信息安全布局提供参考。
242 1
|
安全 搜索推荐 数据安全/隐私保护
Python基础之破解加密压缩包
Python基础之破解加密压缩包
255 0
|
7月前
|
数据安全/隐私保护 Python
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(下)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
80 1
|
7月前
|
数据安全/隐私保护 Python Windows
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
130 0
|
7月前
|
数据安全/隐私保护 Python Windows
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)(上)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
120 0