我正在尝试使用 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
我可以想到可能导致这种情况的两件事。
要么你创建了一个名为“collections.py”的文件,它隐藏了同名的库模块。如果是,请重命名。
如果没有,你不知何故弄乱了你的python版本。Counter绝对应该在 python 2.7.3 中。尝试重新安装 python 并仔细检查您实际运行的版本(例如通过打印sys.version_info在程序中的某处)。
要诊断问题,请尝试import collections和print collections.__file__。它应该在 python2.7 目录中。打开文件并搜索class Counter.
| 归档时间: |
|
| 查看次数: |
5457 次 |
| 最近记录: |