网络编程
位置:首页>> 网络编程>> Python编程>> python的Crypto模块实现AES加密实例代码

python的Crypto模块实现AES加密实例代码

作者:werewolf_st  发布时间:2022-10-02 17:43:10 

标签:python,crypto,aes加密

本文主要探索的是python的Crypto模块实现AES加密,分享了具体实现代码,下面看看具体内容。

学了使用Crypto模块的AES来加密文件,现在记录下来便于后边儿查看。

在刚开始知道这个模块的时候,连基本的Crypto模块的安装都花了很多很多时间来搞,也不知道什么情况反正是折腾很久了才安装起的,记得是包安装起来了,但使用的时候始终提示找不到Crypto.Cipher模块。然后怎么解决的呢?

一、把我的python换成了64位的,本来电脑就是64位的也不知道之前是啥情况安装成32位的了。(O(∩_∩)O哈哈~)
二、安装了VCForPython27.msi
三、在cmd中执行:


pip install pycrypto -i http://mirrors.aliyun.com/pypi/simple/

经过上边儿的几个步骤,我是能够成功执行


from Crypto.Cipher import AES

现在上一个实例代码:


# !/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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com