class AESCipher:
def __init__(self,key,iv):
self.key = key
self.iv = iv
def encrypt(self,plain_text):
result = ''
try:
key_bytes = self.key.encode('utf-8')
iv_bytes = self.iv.encode('utf-8')
plain_text_bytes = plain_text.encode('utf-8')
padded_data = pad(plain_text_bytes, AES.block_size)
cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)
result = base64.b64encode(cipher.encrypt(padded_data)).decode('utf-8')
print('\n' + result)
except Exception as e:
print(e)
return result
def decrypt(self,cipher_text):
result = ''
try:
enc = base64.b64decode(cipher_text)
key_bytes = self.key.encode('utf-8')
iv_bytes = self.iv.encode('utf-8')
cipher = AES.new(key_bytes, AES.MODE_CBC, iv_bytes)
decrypted_padded = cipher.decrypt(enc)
decrypted = unpad(decrypted_padded, AES.block_size)
result = decrypted.decode('utf-8')
print('\n' + result)
except Exception as e:
print(e)
return result