用Python解密VIM加密文件

时间:2010-02-26 07:32:56

标签: python vim encryption

在我的Python Web应用程序中,我需要解密使用VIM加密的文件。假设Web应用程序知道用于加密VIM中文件的密码,如何编写代码进行解密?

3 个答案:

答案 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)

我写了一个工具来做到这一点,也支持更新的加密方法:

https://github.com/nlitsme/vimdecrypt

答案 2 :(得分:0)

python3版本:

from pathlib import Path

from zipfile import _ZipDecrypter

print(_ZipDecrypter(b"<password>")(Path(r"<path>").read_bytes()[12:]).decode("utf8"))