python实现AES加密`class AESUtil:
CIPHER_ALGORITHM = "AES/ECB/PKCS7Padding"
KEY_ALGORITHM = "AES"
@staticmethod
def generate_AES_key(token):
md5_hash = hashlib.md5(token.encode('utf-8')).hexdigest()
aes_key = md5_hash[:16]
return aes_key
@staticmethod
def encrypt_string(text, token):
key = AESUtil.generate_AES_key(token)
cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
encrypted_bytes = cipher.encrypt(AESUtil.pad_string(text).encode('utf-8'))
encrypted_text = base64.b64encode(encrypted_bytes).decode('utf-8')
return encrypted_text
@staticmethod
def decrypt_string(encrypted_text, token):
key = AESUtil.generate_AES_key(token)
cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
decrypted_bytes = cipher.decrypt(base64.b64decode(encrypted_text))
decrypted_text = decrypted_bytes.decode('utf-8')
return AESUtil.unpad_string(decrypted_text)
@staticmethod
def pad_string(text):
block_size = AES.block_size
pad = block_size - (len(text) % block_size)
return text + chr(pad) * pad
@staticmethod
def unpad_string(padded_text):
pad = ord(padded_text[-1])
return padded_text[:-pad]`
一共传入俩个参数,token,和加密的内容text