AES加密的参数及其条件:这个AES加密的主要坑就在于这些条件,首先AES加密有几个参数
秘钥:加密的时候用秘钥,解密的时候需要同样的秘钥才能解出来
明文:需要加密的内容
模式:aes 加密常用的有ECB和CBC模式
iv 偏移量:这个参数在 ECB 模式下不需要,在 CBC 模式下需要
ECB模式在安全性上虽然相比于CBC模式稍微差了点,但其实也已经够用了:
import binascii
from Crypto.Cipher import AES
# 第一种模式:AES加密算法下ECB模式的加解密算法
# 检查字符串的bytes长度是否为16的整数倍,如果不是将其补全为最小倍数
# 补全示例:Java才是世界上最好的语言!\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
def aes_en(text: str) -> str:
length = 16
count = len(text.encode("utf-8"))
# text不是16的倍数那就补足为16的倍数
if count % length != 0: