python 代码如何加密(三分钟教你python自动化加密Word)

还在忧虑周五下班前,老板吩咐要给客户加密200个文件吗?工作到凌晨2点,还要把当日完成的10个文件加密,让人很发狂啊。想到一份份的文档要挨个打开并加密,就让人有一种想要die掉的996即视感。

python 代码如何加密(三分钟教你python自动化加密Word)(1)

周五下班前,老板吩咐要给客户加密200个文件吗

福音来了,无所不能的python带给你下面的工具:

msoffcrypto-tool(以前称为ms-offcrypto-tool)是一个Python工具和库,用于使用生成其托管密钥的密码,中间密钥或私钥解密加密的MS Office文件。

python 代码如何加密(三分钟教你python自动化加密Word)(2)

用于使用生成其托管密钥的密码,中间密钥或私钥解密加密的MS Office文件

首先,安装工具。

安装

pip install msoffcrypto-tool

例子

作为CLI命令行工具(带密码)

msoffcrypto-tool encrypted.docx decrypted.docx -p Passw0rd

如果命令行省略密码参数值,则会贴心的提示密码:

$ msoffcrypto-tool encrypted.docx decrypted.docx -p 密码:

测试文件是否加密(退出代码0或1)

msoffcrypto-tool document.doc --test -v

程序调用

用程序调用(这就很有想象空间了,比如有20000个文件,用程序循环搞定):

可以用for,或者循环目录列文件后调用以下代码或函数:

mport msoffcrypto file = msoffcrypto.OfficeFile(open("encrypted.docx", "rb"))#这里是加密文件名 # Use password file.load_key(password="Passw0rd") # Use private key # file.load_key(private_key=open("priv.pem", "rb")) # Use intermediate key (secretKey) # file.load_key(secret_key=binascii.unhexlify("AE8C36E68B4BB9EA46E5544A5FDB6693875B2FDE1507CBC65C8BCF99E25C2562")) file.decrypt(open("decrypted.docx", "wb"))

支持的加密格式:

python 代码如何加密(三分钟教你python自动化加密Word)(3)

MS-OFFCRYPTO规格

MS-OFFCRYPTO规格

  • ECMA-376(敏捷加密/标准加密)
  • MS-DOCX(OOXML)(Word 2007-2016)
  • MS-XLSX(OOXML)(Excel 2007-2016)
  • MS-PPTX(OOXML)(PowerPoint 2007-2016)
  • Office二进制文档RC4 CryptoAPI
  • MS-DOC(Word 2002,2003,2004)
  • MS-XLS(Excel 2002,2003,2004)(实验性)
  • MS-PPT(PowerPoint 2002,2003,2004)(部分,实验)
  • 办公室二进制文件RC4
  • MS-DOC(Word 97,98,2000)
  • MS-XLS(Excel 97,98,2000)(实验性)
  • ECMA-376(可扩展加密)
  • XOR混淆

其他

  • Word 95加密(Word 95及之前版本)
  • Excel 95加密(Excel 95及更早版本)
  • PowerPoint 95加密(PowerPoint 95和之前的版本)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页