class AES_ENCRYPT():
def __init__(self, key):
self.key = key
self.mode = AES.MODE_CBC
# 加密函数,如果text不是16的倍数【加密文本text必须为16的倍数!】,那就补足为16的倍数
def encrypt(self, text):
import base64
cryptor = AES.new(self.key, self.mode, self.key)
# 这里密钥key 长度必须为16(AES-128)、24(AES-192)、或32(AES-256)Bytes 长度.目前AES-128足够用
# 这里密钥长度一定注意,对接方给我一个14位的,坑我好久
length = 16 # 这里只是用于下面取余前面别以为是配置
count = len(text.encode('utf-8')) # 这是我上传的主要目的,字符长度不同所以不能直接用,需要先编码转成字节
print(count)
if (count % length != 0):
add = length - (count % length)
else:
add = 0 # 看看你们对接是满16的时候加上16还是0.这里注意
text1 = text + ('\0' * add) # 其它语言nopadding时,python还是需要‘\0’或'\x00'