首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中使用gpgme进行对称加密?

如何在python中使用gpgme进行对称加密?
EN

Stack Overflow用户
提问于 2014-06-23 21:20:40
回答 1查看 393关注 0票数 0

我正在尝试使用python对gpgme的包装器pygpgme来实现对称加密。不幸的是,我使用的是gpg 2.0.22和gpg-agent 2.0.22。This邮件列表帖子说密码短语回调在2.0中被忽略了,这就是我遇到的问题。

当我运行下面的代码时,我总是得到一个错误提示'Bad passphrase',但我甚至没有得到提示。不过,理想情况下,我希望能够代表用户提供密码:

代码语言:javascript
复制
import gpgme

def passphrase_cb(uid_hint, passphrase_info, prev_was_bad, fd):
    print "Entered passphrase_cb"
    print "uid_hint=%s passphrase_info=%s" % (uid_hint, passphrase_info)

def main():
    ctx = gpgme.Context()
    ctx.armor = False
    ctx.passphrase_cb = passphrase_cb
    ctx.set_engine_info(gpgme.PROTOCOL_OpenPGP, "/usr/local/bin/gpg",
                        "/Users/me/Library/Application Support/temp/test")

    input_path = "/tmp/input.pdf"
    enc_output_path = "/tmp/output.pdf.gpg"

    with open(input_path, 'rb') as input:
        with open(enc_output_path, 'wb') as enc_output:
            res = ctx.encrypt(None,
                              gpgme.ENCRYPT_ALWAYS_TRUST,
                              input,
                              enc_output)

永远不会调用passphrase_cb

如何提供密码短语才能执行对称加密?

EN

回答 1

Stack Overflow用户

发布于 2014-06-23 22:24:23

好吧,这并不是那么重要。我将使用gpg二进制文件来实现对称加密。我发现this answer很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24367053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档