1

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

decryptor = AES.new(key, AES.MODE_CTR, counter=Counter.new(64, prefix=nonce))

我收到以下错误:

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

随机数是我给的。请帮助我。我的python版本是2.7.3

4

1 回答 1

5

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

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

如果没有,那么您以某种方式弄乱了您的 python 版本。Counter绝对应该在 python 2.7.3 中。尝试重新安装 python 并仔细检查您实际运行的版本(例如,通过sys.version_info在程序中的某个位置打印出来)。

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

于 2012-06-22T09:40:49.590 回答