pycrypto 错误....ImportError: 无法导入名称计数器

pra*_*bha 1 python counter

我正在尝试使用 pycrypto++ 在 python 中设计 AES CTR 加密/解密程序。但每次我运行下面的代码时:

decryptor = AES.new(key, AES.MODE_CTR, counter=Counter.new(64, prefix=nonce))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
  File "aes-ctr.py", line 3, in <module>
  from collections import Counter
ImportError: cannot import name Counter
Run Code Online (Sandbox Code Playgroud)

nonce 是我给的。请帮帮我。我的python版本是2.7.3

Lau*_*low 5

我可以想到可能导致这种情况的两件事。

要么你创建了一个名为“collections.py”的文件,它隐藏了同名的库模块。如果是,请重命名。

如果没有,你不知何故弄乱了你的python版本。Counter绝对应该在 python 2.7.3 中。尝试重新安装 python 并仔细检查您实际运行的版本(例如通过打印sys.version_info在程序中的某处)。

要诊断问题,请尝试import collectionsprint collections.__file__。它应该在 python2.7 目录中。打开文件并搜索class Counter.