python pycrypto:module'对象没有属性' importKey'

时间:2015-04-22 14:25:49

标签: python pycrypto

我目前正在使用pycrypto,我想导入公钥,但它无法正常工作并引发一些错误:' module'对象没有属性' importKey'
我也在我的其他剧本中使用了pycrypto,它运作良好,所以我无法理解为什么这不起作用 我无法工作的代码如下:

    from Crypto.PublicKey import RSA
    .............
    .............
    def task_name(task):
        username = task['user']
        taskintid = task['taskintid']
        data = '%s,%s' % (str(username), str(taskintid))
        user_id = task.get('op_user_id', '')
        db = get_db()

        ssh_key = db.ssh_key.find_one({'user_id': user_id})
        if ssh_key:
            try:
                public_key = RSA.importKey(ssh_key.get('ssh_key', ''))
                data = public_key.encrypt(data, 32)[0].encode('hex')
            except Exception, e:
                print e

    return "task-%s-%s" % (data, task['repeat_num'])

另外,我的python版本是 2.6.5
=======================================
抱歉,我忘记了,pycrypto版本是 2.0.1
因为我安装了很多软件包,所以无法升级我的pycrypto版本

2 个答案:

答案 0 :(得分:0)

changelog中列出的2.2版中实现了对导出和导入RSA密钥的支持,因此,除非您可以升级,否则运气不佳。

答案 1 :(得分:0)

我通过pip install pycryptodome

解决了这个问题