[Tutor] encrypt a file in Python3

kendy at kendy.org kendy at kendy.org
Sat Nov 10 06:54:22 CET 2012


Hello!

I want to encrypt a file, then decrypt it. I prefer to do it without adding any
packages. I found 

http://eli.thegreenplace.net/2010/06/25/aes-encryption-of-files-in-python-with-pycrypto/

which seems like a good approach. How can I get the import to work for python 3?
Here's what I get:

$ uname -a
Linux laptop 3.2.0-32-generic-pae #51-Ubuntu SMP Wed Sep 26 21:54:23 UTC 2012
i686 i686 i386 GNU/Linux
$ python3.2
Python 3.2.3 (default, Sep 10 2012, 18:17:42) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, random, struct
>>> from Crypto.Cipher import AES
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Crypto.Cipher
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'os', 'random', 'struct']
>>> import Crypto.Cipher
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Crypto.Cipher
>>> 

Has Crypto.Cipher been renamed in Python 3? Is it supported yet? Python2.7 works
fine.

I saw so many "crypto" packages at http://pypi.python.org/pypi/ that I wouldn't
know where to start. I want something simple. Do you have a suggestion?

$ python2.7
Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os, random, struct
>>> from Crypto.Cipher import AES
>>> dir()
['AES', '__builtins__', '__doc__', '__name__', '__package__', 'os', 'random',
'struct']
>>> 

$ python2.7
Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Crypto.Cipher
>>> dir()
['Crypto', '__builtins__', '__doc__', '__name__', '__package__']
>>> 

Thanks so much! I learn a lot from you guys!

Ken
kendy at kendy.org



More information about the Tutor mailing list