import base64
import os
import base64
import json
import binascii
def aes_cipher(key, aes_str):
aes = AES.new(key.encode('utf-8'), AES.MODE_ECB)
pad_pkcs7 = pad(aes_str, AES.block_size, style='pkcs7') # 选择pkcs7补全
#pad_pkcs7 = pad(aes_str.encode('utf-8'), AES.block_size, style='pkcs7') # 选择pkcs7补全
encrypt_aes = aes.encrypt(pad_pkcs7)
# 加密结果
encrypted_text = str(base64.encodebytes(encrypt_aes), encoding='utf-8').replace("\n", "") # 解码
return encrypted_text
#b4 = bytearray.fromhex('31 34 35 30 5F 31 5F 30 5F 31 36 35 32 37 37 38 32 33 34 5F 66 D0 C8 E6 C7 C0 FA C2 12 AA 95 68 EC 5A 6A 5F')
#print("=======b4")
#print(binascii.b2a_hex(b4))
由于aes加解密时针对内存的,对于不可显示的字符串,需要一点特别的转换。
可以用binascii.b2a_hex将字符类型的十六进制转换成二进制形式。
记录一下,以免以后忘记了。