python生成文件md5,python md5加密解密
本文主要介绍python编程批量实现md5加密的pdf文件。文章基于Python的相关资料,详细介绍,有一定参考价值的朋友可以参考一下。
编程Python实现批量md5加密pdf文件
今天在某微信官方账号看到一个pdf文件加密模块的介绍,突然有了一个想法,想写一个某目录下所有pdf文件的批量加密。结合md5加密和文件搜索知识来实现这个想法。
运行环境:
OS:macOS Monterey Version 12.3.1(英文版)
IDE:PyCharm 2020.1
代码分享如下:
# file: pdf encryption.py
# IDE :PyCharm
#导入加密模块
导入pikepdf
#导入操作模块
导入操作系统
#导入md5加密模块
从hashlib导入md5
#该模块实现输入密码不显示。
导入getpass
#搜索pdf文件,加密它们
定义搜索_pdf(路径,密码,用户名):
用于os.listdir(路径):中的pdf文件
pdfPath=os.path.join(path,pdfFile)
if os.path.isdir(pdfPath):
search_pdf(pdfPath,passwrd,username)
埃利夫。pdfPath:中的“pdf”
encry_pdf(pdfPath,encrypt_md5(passwrd),用户名)
print(f“{ pdf path }”已加密!保存密码!)
#加密功能
def encrypt _ MD5(passwrd _ str):
New_md5=md5() #创建一个md5对象
new _ MD5 . update(passwrd _ str . encode(encoding= utf-8 ))
#退货信息汇总
返回new_md5.hexdigest()
#加密函数,参数是pdf文件名和密码
def encry_pdf(pdfname,passwrd,username):
#打开加密文件并允许覆盖。
pdf=pikepdf.open(pdfname,allow_overwriting_input=True)
#保存加密文件
pdf.save(pdfname,encryption=pikepdf。加密(所有者=密码,用户=用户名,R=4))
#主要功能
if __name__==__main__:
完成=真
Path=input(请输入文件所在的目录:)
当Done:
尝试:
Passwrd1=getpass.getpass(请输入加密文件的密码:,stream=None)
Passwrd2=getpass.getpass(请再次输入加密文件的密码:,stream=None)
如果passwrd1==passwrd2:
1用户名1=输入(请输入用户名:)
search_pdf(路径,密码1,用户名1)
Done=False
破裂
else:
Print(密码输入错误!)
例外:
打印(请核实信息!)
运行结果如下:
Zsh:暂停sudo python pdf加密. py
(venv) (base)刘晓伟@ macbook air 10有趣的Python高级脚本% sudo python pdf encryption.py
请输入文件所在的目录:/用户/刘晓伟/桌面
请输入加密文件的密码:
请再次输入加密文件的密码:
密码输入不正确!#密码输入不正确
请输入加密文件的密码:
请再次输入加密文件的密码:
密码输入不正确!
请输入加密文件的密码:
请再次输入加密文件的密码:#密码输入正确。
请输入用户名:lxw
/Users/Users/刘晓伟/Desktop/sql/sqlinjection.pdf已经加密!保存密码!当前目录中的# pdf文件
/用户/刘晓伟/桌面/ts 852d Specification.pdf已加密!保存密码!
/用户/刘晓伟/桌面/md学习笔记/pdf/Windows PE.pdf权威指南已加密!保存密码!子目录下的# pdf文件
/Users/刘晓伟/Desktop/md学习笔记/pdf/PythonCodingRule.pdf已加密!保存密码!
/用户/刘晓伟/桌面/精通黑客-免费完整version.pdf已加密!保存密码!
关于Python编程批量实现md5加密pdf文件的这篇文章到此为止。有关Python加密pdf文件的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。