我在python-gnupg包中遇到了一些问题。 我需要解密一个加密的.xlsx文件,用它做一些事情然后再加密它。所以我写了一个小脚本来看看它是如何工作的......它没有。
不幸的是,搜索SO并没有返回很多答案(不知何故python-gpg相关问题在这里得不到很好),也没有谷歌搜索。我发现的那些似乎相关但不是:SO: privilege related,python-gnupg group: add str to crypt object。
问题可以如下:
.xlsx
文件进行加密和解密,但在此过程后无法读取。如果我使用命令行加密文件,则无法从python中解密。相反,我看到以下错误:
File "/gnupg-2.0.2-py3.5.egg/gnupg/_parsers.py", line 1419 in _handle_status raise ValueError("Unknown status message: %r" % key)
ValueError: Unknown status message: 'FAILURE'
代码适用于文本文件,但如果我使用CLI加密这样的文件,python中的解密会导致与上面相同的错误。
以下是代码:
# -*- coding: utf-8 -*-
import gnupg
gpg = gnupg.GPG(homedir='~/.gnupg/')
with open('echo.xlsx', 'rb') as f:
status = gpg.encrypt(
f, '5955128B',
output='echo.xlsx.gpg')
print ('ok: ', status.ok)
print ('status: ', status.status)
print ('stderr: ', status.stderr)
a = input('press any key to continue')
with open('echo.xslx.gpg', 'rb',) as f:
status = gpg.decrypt_file(
f, passphrase='passphrase', output='echo2.xslx')
print ('ok: ', status.ok)
print ('status: ', status.status)
print ('stderr: ', status.stderr)
我在python 3.5,python-gnupg 2.0.2,GnuPG 2.0.29。
我真的很感激一些帮助,我迫切需要这个工作。