1. 程式人生 > >python加密模組使用,aes128,ecb模式

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

#!/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加密模組使用,aes128,ecb模式

#!/usr/bin/python # -*- coding:utf-8 -*- from Crypto.Cipher import AES import binascii import re #def print_bytes(): pattern1 = '[0-9a-

python寫的AES128/ECB/pkcs7加密解密函式

因為需要,要實現一個python版的AES128加解密方法,加密模式ECB,填充模式pkcs7.(貌似pkcs5和pkcs7是一模一樣的,我沒有看具體原因(好像是aes沒有64位的,64位對應5?)) 下面直接貼原始碼啦(我找了好幾個東拼西湊出來的,反正能工作,也支援中文) # -*- codi

python 實現DES加密 ECB模式

# -*- coding:utf-8 -*- import base64 import json from Crypto.Cipher import DES class Crypt(object):     """加密和解密工具類"""     des_key = "123

分組加密的四種模式(ECB、CBC、CFB、OFB)

奇偶校驗位 strong word text change 相同 分組 mes 這一 加密一般分為對稱加密(Symmetric Key Encryption)和非對稱加密(Asymmetric Key Encryption)。 對稱加密又分為分組加密和序列pass

python----常用模組(hashlib加密,Base64,json)

一、hashlib模組 1.1 hashlib模組,主要用於加密相關的操作,在python3的版本里,代替了md5和sha模組,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 演算法。加密需要先例項化MD5物件,再將字串轉成bytes型別(加密必須得是bytes

[加解密]js/python/golang 相容AES(CBC/ECB)加解密(1)--ECB模式

  起因是想實現oracle相容的加解密演算法,結果折騰了好幾天也沒有搞定相容的3des演算法.  副產品是把aes的各種場景驗證了一遍.  之前沒有密碼學基礎,通過折騰,稍微瞭解了一點.AES是比3des更先進的加密演算法,雖然現在也不可靠了.  加密的塊處理模式分為ECB

AES加密演算法 ECB模式 ISO10126填充

程式碼如下: /* * 參考資料: * ISO10126:https://en.wikipedia.org/wiki/Padding_(cryptography)#ISO_10126 * AES 演算法過程: * https://en.wiki

C/C++: 3DES-ECB模式加密,可以與C#和Java互通

在開發過程中經常會射擊到對資料的加密處理,常用的加密方式有Aes和Des,Aes/Des加密速度快,適合大量資料,Des容易破解,一般用3重Des即TripleDes。 在專案開發時從網上找了很多例子,大部分只能單平臺執行,或者檔案不全,本人這樣的新手來說對於

python AES加密模組使用

AES是新的一種加密模組。在上次介紹過在C語言中如何來OpenSSL中的DES。這次我們來看看python自帶的庫如何來使用AES來加解密。其實二者的原理還是非常像,只是說在python中來做這個事情會

Linux下使用openssl的AES加密-ECB模式

最近需要用到AES加密,為了圖方便就打算使用openssl自帶的AES加密演算法的API來實現。 主要用到了ECB和CBC兩種加密模式。 ECB模式如下: #include <stdio

Python反射、模組中的變數os、sys、__file__、加密模組

1、反射 輸入請求,呼叫請求的呼叫函式,使字串“func”變為func()。利用字串的形式去物件(預設)中操作成員(尋找、檢查、刪除、設定)。 commons: #_*_coding:utf-8_*_ __author__ = 'Alex_XT' d

Python 加密解密算法

字符串 加密 呃,今天來看看加密和解密,本文討論base64和hashlib庫: 來看看HASHLIB,他是一種單向摘要出定長字符串的方法: 擼代碼: In [18]: import time,hashlib In [19]: t = int(time.time()) In

python加密

import 第三方 運行 模塊 key rand 分享 code 加密 利用pycrypto包進行AES、DES、MD5等加密 原文: http://www.cnblogs.com/darkpig/p/5676076.html 第三方Crypto包提供了較全面的

python正則非貪婪模式

logs .cn 如果 貪婪 python http 概念 原理 nbsp 上一篇python正則匹配次數大家應該也發現了,除了?其他匹配次數規則都是盡可能多的匹配 那如果只想匹配1次怎麽辦呢,這就是正則中非貪婪模式的概念了 原理就是利用?與其他匹配次數規則進行組合 +?

Python加密篇 正則

new asdf 使用 all md5 search 一次 nco mat hashlib 使用 hashlib.md5() m.update(“sdaf”) hmac hmac.new(“asdf”,”asdfias

python加密---hashlib模塊

sha256 用戶 數據 特點 簡單 openss hash 加密 什麽 1.hash是什麽 hash是一種算法,支持openssl 庫提供的所有算法,包括md5, sha1, sha224, sha256, sha384, sha512,使用非常簡單、方便。md5經常用來

Python中的單例模式

字典 否則 我們 方法 模塊 self ict 實現 meta 在python中,我們可以用多種方法來實現單例模式:   - 使用模塊   - 使用__new__   - 使用裝飾器   - 使用元類(metaclass) 使用模塊   其實,python的模塊就是天然的單

Python讀寫文件模式

附加 方式 posix .html 存在 com 只讀 cnblogs 讀寫文件 Python讀寫文件模式 1、r 打開只讀文件,該文件必須存在。 2、r+ 打開可讀寫的文件,該文件必須存在。 3、w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若

selenium +python之Page Obiect設計模式

失敗 布爾 sub 目的 nbt 布爾值 做的 rom spn PageObject是selenium自動化測試項目開發實踐的最佳設計模式之一,它主要體現對界面交互細節的封裝,這樣可以使測試案例更關註於業務而非界面細節,從而提高測試案例的可讀性。 1.認識PageObjec

Python 加密解密

odin 速度 brush pos () dig pri digest sha # -*- coding: utf-8 -*- import hashlib ‘‘‘ 加密解密 ‘‘‘ #MD5是最常見的摘要算法,速度很快,生成結果是固定的128 bit字節, # 通常用一