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中执行结果:
来源:http://blog.csdn.net/werewolf_st/article/details/45935913


猜你喜欢
- 本文实例为大家分享了python数据写入excel表格的具体代码,供大家参考,具体内容如下安装: xlsxwriter第三方库code:#!
- python3的多行输入问题因为在OJ上做编程,要求标准输入,特别是多行输入。特意查了资料,自己验证了可行性。if __name__ ==
- 列表推导式你有一个list: bag = [1, 2, 3, 4, 5]现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6,
- WEB标准,从我大二开始接触到毕业后的第一份工作“页面重构工程师”,从接触标准到蓝色理想标准区版主的四年多时间里,WEB标准已经成为我生活中
- 本文实例讲解了python实现两个程序之间通信的方法,具体方法如下:该实例采用socket实现,与socket网络编程不一样的是socket
- 环境准备 python3.52 pycharm5.05 Pillow 自制的验证码工具包/utils/check_code 验证码的作用防恶
- 本文实例讲述了php遍历CSV类。分享给大家供大家参考。具体如下:<?phpclass CSVIterator implements
- 一、引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存
- 用python输出汉字字库问题1:假设我们知道汉字编码范围是0x4E00到0x9FA5,怎么从十六进制的编码转成人类可读的字呢?问题2:怎么
- Mysql存储过程1.创建存储过程语法(格式)DELIMITER $CREATE PROCEDURE 存储过程名A(IN 传入参数名a IN
- <!DOCTYPE html> <html> <head> <meta charset="
- 前言原文:A gentle introduction to generics in Go byDominik Braun万俊峰Kevin:我
- 基数排序法又称桶子法(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些"桶&
- creatdoc.asp<!DOCTYPE HTML PUBLIC "-//W3C/DTD&n
- 当需要远程办公时,使用pycharm远程连接服务器时必要的。PyCharm提供两种远程调试(Remote Debugging)的方式:配置远
- 在ACCESS数据库中可以用MSSQL的形式定义操作字符串,也可以采用OLEDB的形式。MSSQL 形式string sqlText = @
- QZONE平台的相册功能为保证加载速度一直以来以简洁的图片排列查看模式呈现相片,随着市场上各类相册产品推陈出新,用户越来越强烈的要求个人相册
- 这是我的第一个真正意思上的自动化脚本。1、练习的测试用例为:打开百度首页,搜索“胡歌”,然后检索列表,有无“胡歌的新浪微博”这个链接 2、在
- 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片
- 我就废话不多说了,直接上代码吧!import torchimport torch.nn.functional as Fimport nump