📅  最后修改于: 2023-12-03 14:59:12.118000             🧑  作者: Mango
AES(Advanced Encryption Standard),又称高级加密标准,是一种加密算法。该算法是由比利时密码学家 Joan Daemen 和 Vincent Rijmen 所设计,于 2001 年被美国政府采纳为新标准。该算法采用对称加密方式,使用相同的密钥进行加密和解密。
AES 加密过程以 128
位为例,加密过程分为 4
个步骤:
4x4
的矩阵进行排列,每个字节进行初始化。10
轮加密。以下是一个使用 Python 中 PyCryptodome
库进行 AES 加密的示例:
from Crypto.Cipher import AES
import base64
# 加密函数
def aes_encrypt(text, key, iv):
# 初始化加密器
aes = AES.new(key, AES.MODE_CBC, iv)
# 加密
encrypted_text = aes.encrypt(text)
# 返回加密后的密文
return base64.encodebytes(encrypted_text).decode()
# 测试加密函数
if __name__ == '__main__':
# 需要加密的字符串
text = 'Hi, AES encrypt!'
# 密钥和初始向量(IV),长度必须为16
key = b'1234567890abcdef'
iv = b'abcdef1234567890'
# 调用加密函数
encrypted_text = aes_encrypt(text.encode(), key, iv)
print(encrypted_text)
返回的结果为:
'4Ah5LZ1CZXVZlKw/gZY9Ug==\n'
这就是使用 AES 加密后的字符串。在解密时,只需要使用相同的密钥和初始向量进行解密即可。