博主使用的是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