>>> from Crypto.Cipher import DES
>>> obj=DES.new('abcdefgh', DES.MODE_ECB)
>>> plain="Guido van Rossum is a space alien."
>>> len(plain)
34
>>> obj.encrypt(plain)
Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: Strings for DES must be a multiple of 8 in length
>>> ciph=obj.encrypt(plain+'XXXXXX')
>>> ciph
'\021,\343Nq\214DY\337T\342pA\372\255\311s\210\363,\300j\330\250\312\347\342I\3215w\03561\303dgb/\006'
>>> obj.decrypt(ciph)
'Guido van Rossum is a space alien.XXXXXX'
http://www.dlitz.net/software/pycrypto/应该做你想做的。
从他们的文档页面中获取。
对于python 2,应该使用keycharhttp://www.keyczar.org/
对于python 3,在keychar可用之前,我已经编写了简单的crypthttp://pypi.python.org/pypi/simple-crypt
我迟了两年才回答这个问题,因为自从这个问题提出以来,情况已经发生了变化。
注意,以前对这个问题的回答使用弱密码(按今天的标准),没有任何关键的增强。这里的两个建议可能更安全。
pyDES是完全用python编写的DES和Triple DES实现。
下面是一个简单的、可移植的示例,它应该足够安全,可以满足基本的字符串加密需求。只需将pyDES模块放在与程序相同的文件夹中,然后尝试:
发件人的计算机
收件人的计算机
相关问题 更多 >
编程相关推荐