code: def decrypt_with_AES_CBC(
      cipher_text, secret_key, salt, key_len=128, block_size=16
  ):
      """
      decrypt string cipher text with AES CBC
      :param cipher_text: cipher text 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: plain test in string
      """
      plain_bytes = decrypt_bytes_with_AES_CBC(
          base64.b64decode(cipher_text),
          secret_key,
          salt,
          key_len,
          block_size,
      )
      return plain_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 3 for calling a global function with example usage: decrypt_with_AES_CBC(cipher_text, secret_key, salt, key_len, block_size) and returns: plain_bytes