python gnupg解密错误

时间:2013-07-18 08:37:58

标签: python urllib2 gnupg

我是Python新手,我想使用gnupg模块(http://pythonhosted.org/python-gnupg/)在Python中解密可下载的PGP加密文件(我认为简单的API调用应该很容易,但我浪费了很多时间在这上面我想要得到一些帮助。)

所以我可以从Python的url下载文件,我尝试用Gpg4win软件解密它,效果很好。当我尝试使用gnupg模块在Python中解密时,我得到了不同的错误。

理想情况下,我想从网址下载该文件,并将其解密,然后将其存储在一个文件中(而不是下载文件,保存文件,解密文件,保存新的删除文件)

这是我的原型代码:

#test

import urllib2
import gnupg

z='https://abcd_url'
u = urllib2.urlopen(z)
localFile = open('file_haha_test2', 'w+b')
localFile.write(u.read())

gpg = gnupg.GPG()
#gpg.encoding = 'utf-8'

##gpg = gnupg.GPG(gnupghome='C:\\Program Files (x86)\\GNU\\Desktop\\GnuPG',
##                                gpgbinary='C:\\Program Files          (x86)\\GNU\\Desktop\\GnuPG\\gpg.exe',
##                                keyring='C:\\user\\Desktop\\Encryption keys\\secret-key-73F.asc')


status = str(gpg.decrypt(u.read(), passphrase='hp',  output='HAHAHAH.txt'))     

#status = str(gpg.decrypt_file(localFile, passphrase='hp',output='HAHAHAH.txt'))

#status = gpg.decrypt_file(localFile)

print status

#localFile.close()

我为不同的语法得到了不同的错误(你可以看到它们在上面评论过)。目前我没有在屏幕上获得任何输出。我认为它应该打印内容。

我真的希望尽快让这项工作得到解决,并且非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我假设您使用的是库on PyPI as ‘gnupg’

您是否尝试过库on PyPI as ‘python-gnupg’

这两个库具有非常相似的API,并且近年来都有活动。我不知道哪个更好。