Python使用AES快速加密解密資料

2021-09-25 07:20:51 字數 1301 閱讀 4417

看了很多版本,

要不然就是原理一堆,要不然就是無法使用,要不然就是修改後的資料與原來判斷不一致,

於是自己改了乙個快速簡單的,

希望對想簡單粗暴的同學有幫助。

python版本2.7

廢話不多說,上**:

import base64

from crypto.cipher import aes

aes_secret_key = 'b31f2a75fbf94099' #此處16|24|32個字元

iv = "1234567890123456"

# padding演算法

bs = len(aes_secret_key)

pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs)

unpad = lambda s : s[0:-ord(s[-1])]

class aes_encrypt(object):

def __init__(self):

self.key = aes_secret_key

self.mode = aes.mode_cbc

#加密函式

def encrypt(self, text):

cryptor = aes.new(self.key, self.mode,iv)

self.ciphertext = cryptor.encrypt(pad(text))

#aes加密時候得到的字串不一定是ascii字符集的,輸出到終端或者儲存時候可能存在問題,使用base64編碼

return base64.b64encode(self.ciphertext)

#解密函式

def decrypt(self, text):

decode = base64.b64decode(text)

cryptor = aes.new(self.key, self.mode,iv)

plain_text = cryptor.decrypt(decode)

return plain_text

if __name__ == '__main__':

aes_encrypt = aes_encrypt()

text = "全"

e = aes_encrypt.encrypt(text)

d = aes_encrypt.decrypt(e)

print text

print e

print d,len(d),text,len(text),d==text

使用python進行加密解密AES演算法

使用python進行加密解密aes演算法 分享 python開發者社群 pythoner.org ty 發布於 2011 09 26 21 36 53,分類 python語言基礎,0評 5639閱 在此我們將使用到pycrypto模組,可以訪問 來獲得此模組。該模組包括多種加密演算法,如aes md...

使用python進行AES對稱加密解密

使用示例 可能問題 有時需要對資料進行對稱加解密,常用的有 區塊加密演算法採用對稱金鑰,可以加密固定長度的較短 區塊數量 的資料。為了處理任意長度的資料,加密演算法必須指定加密模式。常用的加密模式如下 經典的加密模式,比如cbc mode只能保證機密性,但不能保證完整性。基於這個原因,經典模式經常會...

Python 實現 AES 加密 解密

一 前言 金鑰 k 用來加密明文的密碼,在對稱加密演算法中,加密與解密的金鑰是相同的。金鑰為接收方與傳送方協商產生,但不可以直接在網路上傳輸,否則會導致金鑰洩漏,通常是通過非對稱加密演算法加密金鑰,然後再通過網路傳輸給對方,或者直接面對面商量金鑰。金鑰是絕對不可以洩漏的,否則會被攻擊者還原密文,竊取...