需要使用PyCryptodome 库,先安装
pip install pycryptodome
#导入必要的模块:base64 用于对加密后的数据进行 Base64 编码, Crypto.Cipher 和 Crypto.Util.Padding 是 PyCryptodome 库提供的用于加密和填充的模块
import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
#定义了 encrypt 函数,接收两个参数: plaintext 待加密的字符串, key 加密密钥(可选,默认为 "rrrr")。
def encrypt(plaintext, key="rrrr"):
#首先将字符串和密钥转换为字节序列。
plaintext = plaintext.encode('utf-8')
key = key.encode('utf-8')
#创建一个 AES 加密器对象,使用 ECB 模式。
cipher = AES.new(key, AES.MODE_ECB)
#使用 pad 函数对明文进行 PKCS7 填充。
padded_plaintext = pad(plaintext, AES.block_size)
#使用加密器对填充后的明文进行加密。
ciphertext = cipher.encrypt(padded_plaintext)
#将加密后的字节序列使用 Base64 编码,并转换为字符串返回。
return base64.b64encode(ciphertext).decode('utf-8')
# 使用示例
#定义了待加密的字符串 g_checkArr 和密钥 g_secretKey。
g_checkArr = "****"
g_secretKey = "****"
encrypted_data = encrypt(g_checkArr, g_secretKey)
print(encrypted_data)