【问题标题】:Crypto Random not working?加密随机不工作?
【发布时间】:2017-06-07 11:19:55
【问题描述】:

我正在 Python 上尝试 AES 加密,我的代码很好,但在 from Crypto import Random 中,Random 出现错误。当我运行代码时,我得到以下回溯:

Traceback (most recent call last):
  File "C:/Users/RedCode/PycharmProjects/SecurityApps/Encryption/AES.py", line 3, in <module>
  from Crypto import Random
  ImportError: cannot import name 'Random'

我该如何解决这个问题?

如果有帮助,我检查了我的站点包文件夹,我有 pycryptopycryptodomepycryptodomexCryptocrypto-1.4.1

【问题讨论】:

  • @Qiu 除非 RedCode 可以确认这是问题,否则我不会投票以重复关闭问题;我认为关闭它是因为 RedCode 定义了 random.py 还为时过早。 RedCode,是不是骗子?
  • from Crypto import Random -> ImportError: cannot import name Random 的可能重复项。 @phihag 的回答和 cmets 似乎特别相关。
  • 如果我正确解析了这个问题和潜在的重复,那么......您的Crypto 类版本是1.4.1,它太旧了。根据潜在的dup,您需要2.1.0的版本Crypto或更高版本。
  • 我在这两个问题上都尝试了解决方案,但都没有奏效。但他们给了我一些想法。我在回答中解决了这个问题。

标签: python-3.x cryptography pycrypto


【解决方案1】:

好的,我的问题是 PyCharm 没有正确读取 site-packages 文件夹。我有一个 Crypto 包文件夹,但它不是正确的,因为它缺少很多子文件夹。我不记得我从哪里下载的,但它基本上是错误的名称。

幸运的是,我在 pycryptodome-3.4.6-py3.6-win32.egg 文件夹中找到了正确的 Crypto 文件夹,其中包含 Random 包(以及其他包)。所以我删除了我拥有的 Crypto 文件夹,并用我找到的那个替换它,现在一切正常

【讨论】:

    猜你喜欢
    • 2011-09-04
    • 2016-07-08
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多