本文主要探索的是python的Crypto模块实现AES加密,分享了具体实现代码,下面看看具体内容。
学了使用Crypto模块的AES来加密文件,现在记录下来便于后边儿查看。
在刚开始知道这个模块的时候,连基本的Crypto模块的安装都花了很多很多时间来搞,也不知道什么情况反正是折腾很久了才安装起的,记得是包安装起来了,但使用的时候始终提示找不到Crypto.Cipher模块。然后怎么解决的呢?
一、把我的python换成了64位的,本来电脑就是64位的也不知道之前是啥情况安装成32位的了。(O(∩_∩)O哈哈~)
二、安装了VCForPython27.msi
三、在cmd中执行:
1
|
|
经过上边儿的几个步骤,我是能够成功执行
1
|
from Crypto.Cipher import AES
|
现在上一个实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# !/usr/bin/env python
# coding: utf-8
'''
'''
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
class MyCrypt():
def __init__( self , key):
self .key = key
self .mode = AES.MODE_CBC
def myencrypt( self , text):
length = 16
count = len (text)
print count
if count < length:
add = length - count
text = text + ( '\0' * add)
elif count > length:
add = (length - (count % length))
text = text + ( '\0' * add)
# print len(text)
cryptor = AES.new( self .key, self .mode, b '0000000000000000' )
self .ciphertext = cryptor.encrypt(text)
return b2a_hex( self .ciphertext)
def mydecrypt( self , text):
cryptor = AES.new( self .key, self .mode, b '0000000000000000' )
plain_text = cryptor.decrypt(a2b_hex(text))
return plain_text.rstrip( '\0' )
if __name__ = = '__main__' :
mycrypt = MyCrypt( 'abcdefghjklmnopq' )
e = mycrypt.myencrypt( 'hello,world!' )
d = mycrypt.mydecrypt(e)
print e
print d
|
在cmd中执行结果:
总结
以上就是本文关于python的Crypto模块实现AES加密实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/werewolf_st/article/details/45935913