你是否会出现这样的情况,首先想到的是在网上查找,打开某浏览器时,便会出现一大堆看不懂的文件,此时会靠感觉点击进去下载,你懂得,哈哈哈!
安装库包
文件加密
代码
import PyPDF2
# # #加密PDF
def encrypt(old_Path, new_Path):
"""
:param old_Path: 待加密文件的路径名
:param new_Path: 加密之后的文件路径名
"""
with open(old_Path, 'rb') as pdfFile:
pdfReader = PyPDF2.PdfFileReader(pdfFile)
# 创建pdfWriter对象用于写出PDF文件
pdfWriter = PyPDF2.PdfFileWriter()
# pdf对象加入到pdfWriter对象中
for pageNum in range(pdfReader.numPages):
pdfWriter.addPage(pdfReader.getPage(pageNum))
# 密码设置为xxxx
pdfWriter.encrypt('xxxx')
with open(new_Path, 'wb') as resultPDF:
pdfWriter.write(resultPDF)
print('加密成功!')
if __name__ == '__main__':
encrypt()
执行结果
文件解密
import PyPDF2
def decrypt(old_Path, new_Path):
"""
:param old_Path: 待加密文件的路径名
:param new_Path: 加密之后的文件路径名
"""
with open(old_Path, 'rb') as pdfFile:
pdfReader = PyPDF2.PdfFileReader(pdfFile)
pdfWriter = PyPDF2.PdfFileWriter()
# 判断文件是否加密
if pdfReader.isEncrypted:
# 判断密码是否正确
for i in range(100000):
#生成四位数密码
pwd=str(i).zfill(5)
if pdfReader.decrypt(pwd):
for pageNum in range(pdfReader.numPages):
pdfWriter.addPage(pdfReader.getPage(pageNum))
with open(new_Path, 'wb') as resultFile:
pdfWriter.write(resultFile)
print('成功了!密码是:'+pwd)
else:
print('密码错了!哼~~~')
else:
print('没有加密呀~~~')
if __name__ == '__main__':
decrypt()
执行结果
参考:https://blog.csdn.net/weixin_42350212/article/details/117031929