马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
pdf有两种暗码方式,一种是打开后进入文件内容页面后必要暗码才华举行修改等操纵,网上有很多方式举行移除暗码操纵,第二种是打开就必要暗码,我这里简单纪录一个暴力破解的方式,仅供参考- import PyPDF2
- import itertools
- import string
- def decrypt_pdf(input_file, output_file, password):
- with open(input_file, "rb") as file:
- reader = PyPDF2.PdfReader(file)
- if reader.is_encrypted:
- try:
- if reader.decrypt(password):
- writer = PyPDF2.PdfWriter()
- for page in reader.pages:
- writer.add_page(page)
- with open(output_file, "wb") as output_pdf_file:
- writer.write(output_pdf_file)
- print(f"解密后文件已保存为: {output_file}")
- return True
- else:
- print(f"密码'{password}'错误")
- except Exception as e:
- print(f"解密失败: {e}")
- else:
- print("该 PDF 文件没有加密。")
- return False
- def generate_passwords(length):
- characters = string.ascii_letters + string.digits # 字母加数字方式 可以添加其他字符
- for password in itertools.product(characters, repeat=length):
- yield ''.join(password)
- if __name__ == "__main__":
- input_pdf_path = r"d:" # 输入你的加密 PDF 文件路径
- output_pdf_path = r"d:" # 输出解密后文件的路径
- # 尝试生成长度为1到4的所有可能的密码
- for length in range(1, 5): # 可调整最大长度
- print(f"尝试长度为 {length} 的密码...")
- for password in generate_passwords(length):
- if decrypt_pdf(input_pdf_path, output_pdf_path, password):
- break
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |