python调用库函数用ecb模式加密图片_python加密模块使用,aes128,ecb模式

本文介绍了一个使用Python的Crypto库实现AES加密解密的具体实例。该示例通过定义字符串并将其转换为十六进制形式,然后使用AES的ECB模式进行加密与解密。文章还涉及如何处理字符串长度以符合AES加密的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/python

# -*- coding:utf-8 -*-

from Crypto.Cipher import AES

import binascii

import re

#def print_bytes():

pattern1 = '[0-9a-fA-F]{2}'

s1 = 'CE 67 38 7C 3A 4F A2 09 82 DB D5 82 2E 04 72 A5 E3 AD F5 F3 5C 9C BF 2C F4 77 E3 C3 59 6A C2 B0'

k1 = 'AA AA BB BB AA AA BB BB AA AA BB BB AA AA BB BB'

m = re.compile(pattern1)

list1 = re.findall(pattern1,s1)

print list1

list2 = [0 for i in range(2+len(list1))]

#print list2

s2 = ''

s_key=''

s_iv=''

for i in range(len(list1)):

s2+= chr(int(list1[i],16))

#补零操作

length = ((len(list1) + 15)/16)*16

count = len(list1)

if count < length:

add = (length-count)

#\0 backspace

s2 = s2 + ('\0' * add)

elif count > length:

add = (length-(count % length))

s2 = s2 + ('\0' * add)

print binascii.b2a_hex(s2)

list1 = re.findall(pattern1,k1)

#key

for i in range(len(list1)):

s_key+=chr(int(list1[i],16))

#iv

for i in range(16):

s_iv+=chr(0)

print binascii.b2a_hex(s_key)

key = '1234567812345678'

iv = '1234567812345678'

generator = AES.new(s_key, AES.MODE_ECB, s_iv)

recovery = generator.decrypt(s2)

print binascii.b2a_hex(recovery)

基本来自网上的例程.[利用Python M2Crypto库,并使用aes_128_ecb算法进行加密和解密的例子]

[学了使用Crypto模块的AES来加密文件,现在记录下来便于后边儿查看。 在刚开始知道这个模块的时候,连基本的Crypto模块的安装都花了很多很多时间来搞,也不知道什么情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值