code: def encrypt_with_AES_CBC(
      plain_text, secret_key, salt, key_len=128, block_size=16
  ):
      """
      encrypt string plain text with AES CBC
      :param plain_text: plain test in string
      :param secret_key: secret key in string
      :param salt: secret slat in string
      :param key_len: key len (128 or 256)
      :param block_size: lv size (default 16 for CBC)
      :return: cipher text in string
      """
      ct_bytes = encrypt_bytes_with_AES_CBC(
          plain_text.encode(), secret_key, salt, key_len, block_size
      )
      return base64.b64encode(ct_bytes).decode()
  
file_path: analytics-zoo/pyzoo/zoo/common/encryption_utils.py
imports: import os
  from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
  from cryptography.hazmat.primitives import padding
  from cryptography.hazmat.backends import default_backend
  import base64
  import hashlib
label_desc: Use image node_id 2 for calling a global function with example usage: encrypt_with_AES_CBC(plain_text, secret_key, salt, key_len, block_size) and returns: base64