周五下班前。老板吩咐要给客户加密200个文件吗
福音来了。无所不能的python带给你下面的工具:
msoffcrypto-tool(以前称为ms-offcrypto-tool)是一个Python工具和库。用于使用生成其托管密钥的密码。中间密钥或私钥解密加密的MS Office文件。
用于使用生成其托管密钥的密码。中间密钥或私钥解密加密的MS Office文件
首先。安装工具。
安装
pipinstallmsoffcrypto-tool
例子
作为CLI命令行工具(带密码)
msoffcrypto-toolencrypted.docxdecrypted.docx-pPassw0rd
如果命令行省略密码参数值。则会贴心的提示密码:
$msoffcrypto-toolencrypted.docxdecrypted.docx-p密码:
测试文件是否加密(退出代码0或1):
msoffcrypto-tool document.doc –test -v
程序调用
用程序调用(这就很有想象空间了。比如有20000个文件。用程序循环搞定):
可以用for,或者循环目录列文件后调用以下代码或函数:
mportmsoffcryptofile=msoffcrypto.OfficeFile(open("encrypted.docx","rb"))#这里是加密文件名#Usepasswordfile.load_key(password="Passw0rd")#Useprivatekey#file.load_key(private_key=open("priv.pem","rb"))#Useintermediatekey(secretKey)#file.load_key(secret_key=binascii.unhexlify("AE8C36E68B4BB9EA46E5544A5FDB6693875B2FDE1507CBC65C8Bcf99E25C2562"))file.decrypt(open("decrypted.docx","wb"))
支持的加密格式:
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及更早版本)