在 Python 中,可以使用 PyCryptodome 库来实现 AES 加解密。该库是 Python Cryptography Toolkit 的一个分支,提供了丰富的加密算法和工具。\n\n首先,需要安装 PyCryptodome 库。可以使用以下命令来安装:\n\n\npip install pycryptodome\n\n\n接下来,可以使用以下代码来实现 AES 加解密:\n\npython\nfrom Crypto.Cipher import AES\nfrom Crypto.Util.Padding import pad, unpad\nfrom Crypto.Random import get_random_bytes\n\n# 生成随机的 16 字节密钥\nkey = get_random_bytes(16)\n\n# 初始化 AES 加密器\ncipher = AES.new(key, AES.MODE_ECB)\n\n# 加密数据\ndata = b"Hello World"\nciphertext = cipher.encrypt(pad(data, AES.block_size))\nprint("加密后的数据:", ciphertext)\n\n# 解密数据\ndecipher = AES.new(key, AES.MODE_ECB)\nplaintext = unpad(decipher.decrypt(ciphertext), AES.block_size)\nprint("解密后的数据:", plaintext)\n\n\n上述代码中,首先使用 get_random_bytes() 函数生成一个随机的 16 字节密钥。然后,通过 AES.new() 函数初始化一个 AES 加密器,使用 ECB 模式。接下来,使用加密器的 encrypt() 方法对数据进行加密,并通过 pad() 函数进行数据填充。最后,使用解密器的 decrypt() 方法对密文进行解密,并使用 unpad() 函数去除填充数据。\n\n需要注意的是,上述示例使用了 ECB 模式,这是一种最基本的 AES 加密模式。在实际应用中,推荐使用更安全的加密模式,如 CBC 模式。此外,还可以使用不同的填充方式,如 PKCS7 填充。具体的使用方式可以参考 PyCryptodome 库的文档。

Python AES 加密解密教程:使用 PyCryptodome 库

原文地址: https://www.cveoy.top/t/topic/pVlG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录