在我的Python Web应用程序中,我需要解密使用VIM加密的文件。假设Web应用程序知道用于加密VIM中文件的密码,如何编写代码进行解密?
答案 0 :(得分:7)
原来,vim使用与PKZIP相同的加密:
from zipfile import _ZipDecrypter
fp = open(somefile, 'rb')
zd = _ZipDecrypter(somekey)
fp.read(12)
print ''.join(zd(c) for c in fp.read())
fp.close()
答案 1 :(得分:1)
我写了一个工具来做到这一点,也支持更新的加密方法:
答案 2 :(得分:0)
python3版本:
from pathlib import Path
from zipfile import _ZipDecrypter
print(_ZipDecrypter(b"<password>")(Path(r"<path>").read_bytes()[12:]).decode("utf8"))