python加密 AES/ECB/pkcs7

需要使用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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值