aes_util.py 812 Bytes
from Crypto.Cipher import AES
from base64 import b64encode, b64decode
import re

def aes_encrypt_cbc(data, key, iv):
    cipher = AES.new(key, AES.MODE_CBC, iv)
    return cipher.encrypt(data)
 
def aes_decrypt_cbc(data, key, iv):
    res = ''
    try:
        cipher = AES.new(key.encode(), AES.MODE_CBC, iv.encode())
        res = cipher.decrypt(b64decode(data))
        # res = res.decode('utf-8').replace('\x0e', '').replace('\u0007', '').replace('\x08', '')
        res = re.sub(r'[\x00-\x0f]', '', res.decode('utf-8'))
    except Exception as e:
        res = ''
    return res

 
# 示例使用
key = 'm0XsOHC52YZ5KtakhpuMSZtF7DhwudmG'  # 密钥长度必须是16、24或32字节
iv = 'OCRocr2024UATocr'
decrypted_data = aes_decrypt_cbc('QkjNiuixpmtcxxqxaIZ30A==', key, iv)
print("解密:", decrypted_data)