Python3下實現AES-CBC

博主使用的是Python3.6,所以首先需要安裝pycryptodomex,
之後導入Cryptodome就可以使用了。

import base64
from Cryptodome.Cipher import AES
class AES_CBC:
    def __init__(self):
        # 可以自定義key和iv
        self.__key = bytes.fromhex('43657CB361667F45454E537973576562')
        self.__iv = bytes.fromhex('1934577290ABCDEF1264147890234545')

    def pad(self, data):
        length = 16 - (len(data) % 16)
        return data.encode() + (chr(length) * length).encode()

    def encrypt(self, data):
        cipher = AES.new(self.__key, AES.MODE_CBC, self.__iv)
        encryptdata = base64.b64encode(cipher.encrypt(self.pad(data)))
        return encryptdata
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章