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

nonce は私から与えられたものです。助けてください。私のpythonバージョンは2.7.3です

4

1 に答える 1

5

これを引き起こす可能性のある2つのことが考えられます。

「collections.py」というファイルを作成して、同じ名前のライブラリ モジュールを隠しているかのどちらかです。その場合は、名前を変更してください。

そうでない場合は、Python のバージョンがめちゃくちゃになっています。Counter間違いなくpython 2.7.3にあるはずです。Python を再インストールして、実際に実行しているバージョンを再確認してください (たとえばsys.version_info、プログラム内のどこかで印刷するなどして)。

問題を診断するには、 と を試しimport collectionsてくださいprint collections.__file__。python2.7 ディレクトリにある必要があります。ファイルを開き、 を検索しclass Counterます。

于 2012-06-22T09:40:49.590 に答える