python加密模块使用,aes128,ecb模式

来源:互联网 发布:flickr打不开 mac 编辑:程序博客网 时间:2024/04/29 08:03
#!/usr/bin/python# -*- coding:utf-8 -*-from Crypto.Cipher import AESimport binasciiimport 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 list1list2 = [0 for i in range(2+len(list1))]#print list2s2 = ''s_key=''s_iv=''for i in range(len(list1)):s2+= chr(int(list1[i],16))#补零操作length = ((len(list1) + 15)/16)*16count = len(list1)if count < length:add = (length-count)#\0 backspaces2 = s2 + ('\0' * add)elif count > length:add = (length-(count % length))s2 = s2 + ('\0' * add)print binascii.b2a_hex(s2)list1 = re.findall(pattern1,k1)#keyfor i in range(len(list1)):s_key+=chr(int(list1[i],16))#ivfor 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)

基本来自网上的例程.


0 0
原创粉丝点击