input: Write a python function to encrypt and decrypt a string using AES and base64 encoding.
  assert encrypt_string("HelloWorld", "thisisakey123456", "thisisaniv123456") == "l3Pp9sFqXxM4IfB1zN7RMQ=="
  assert decrypt_string("l3Pp9sFqXxM4IfB1zN7RMQ==", "thisisakey123456", "thisisaniv123456") == "HelloWorld"
  assert encrypt_string("TestMessage", "anotherkey123456", "anotheriv123456") == "nZ0+4Q7/0q5c+ryPp7E6pQ=="
  assert decrypt_string("nZ0+4Q7/0q5c+ryPp7E6pQ==", "anotherkey123456", "anotheriv123456") == "TestMessage"
output: from Crypto.Cipher import AES
  import base64
  
  def pad(s):
      return s + (16 - len(s) % 16) * chr(16 - len(s) % 16)
  
  def unpad(s):
      return s[:-ord(s[len(s)-1:])]
  
  def encrypt_string(plain_text, key, iv):
      key = key.encode('utf-8')
      iv = iv.encode('utf-8')
      cipher = AES.new(key, AES.MODE_CBC, iv)
      encrypted_text = cipher.encrypt(pad(plain_text).encode('utf-8'))
      return base64.b64encode(encrypted_text).decode('utf-8')
  
  def decrypt_string(encrypted_text, key, iv):
      key = key.encode('utf-8')
      iv = iv.encode('utf-8')
      encrypted_text = base64.b64decode(encrypted_text)
      cipher = AES.new(key, AES.MODE_CBC, iv)
      decrypted_text = unpad(cipher.decrypt(encrypted_text)).decode('utf-8')
      return decrypted_text