尝试过使用 python 的 win32com 进行加密,文件小的情况下没问题,文件一大就卡住了
代码如下
xcl = win32com.client.DispatchEx('Excel.Application') xcl.DisplayAlerts = False wb = xcl.workbooks.open(decrypt_excel_path, False, False, None) wb.SaveAs(encrypt_excel_path, None, excel_key, '')
![]() | 1 kokutou 2021-12-20 18:05:56 +08:00 via Android ![]() xit 搞 64 位,装固态上,别装任何其他软件,就一个 excel ,然后 excel 文件丢固态上 再运行脚本试试。。。 |
2 AnyThingElae OP @kokutou 感谢 |
3 xchaoinfo 2021-12-21 09:26:57 +08:00 ![]() 用这个库 msoffcrypto-tool |
4 xingshu1990 2021-12-21 10:00:06 +08:00 @xchaoinfo 精灵球! |
![]() | 5 llsquaer 2021-12-21 11:15:38 +08:00 想到一个自己写的加密...将文件从开始 (自定义字节数),做一个位移运算,(或者移位到后面去..) 管你多大的文件,微秒级加密..当然.只是系统打不开而已...没研究过二进制的搞不明白..... python 用 < > 这 2 个符号就搞定的事情. |
6 AnyThingElae OP @xchaoinfo 谢谢,我试试哈 |
7 echoechoin 2021-12-21 11:47:05 +08:00 openssl aes 加密? |
![]() | 8 SmiteChow 2021-12-21 15:44:21 +08:00 还需要写代码? zip 加密码不行吗? |
9 AnyThingElae OP @SmiteChow 需求是这样的 |
![]() | 10 SmiteChow 2021-12-21 18:02:45 +08:00 @AnyThingElae 命令行操作呀 `zip -P password test.zip test.txt` |
11 AnyThingElae OP @SmiteChow 嗯。目前需求是打开 excel 文件需要密码。。打包不符合需求,所以现在用 herumi/msoffice 来加密了 |
![]() | 12 SmiteChow 2021-12-22 09:44:53 +08:00 @AnyThingElae 你的这个实现恐怕得专门定制解密工具才行吧,意味着文件传播出去别人知道密码也不能打开。zip 格式在所有平台都自带客户端能解密,要是纠结压缩这个词语,可以把文件后缀带上,比如 test.txt.zip 。 |