在当今数字化时代,数据安全至关重要。无论是用户密码、敏感信息还是通信内容,都需要通过加密技术来保护。在众多加密方法中,对称加密算法因其高效性和简洁性被广泛应用。本文将带你从零开始,使用Python对称加密中最主流的 AES(高级加密标准) 算法,实现安全的数据加密与解密。

对称加密算法是指加密和解密使用同一个密钥的加密方式。常见的对称加密算法包括 DES、3DES 和目前最安全高效的 AES。在 Python加密解密开发中,AES 是首选方案,因为它速度快、安全性高,并被广泛用于 HTTPS、Wi-Fi 安全等领域。
Python 本身不内置 AES 加密模块,我们需要借助第三方库 cryptography。它是一个功能强大且安全的加密库,支持多种现代加密算法。
打开终端或命令提示符,运行以下命令安装:
pip install cryptographyAES 支持 128 位、192 位和 256 位密钥。我们通常使用 256 位(32 字节)以获得最高安全性。可以使用 os.urandom() 生成强随机密钥。
import os# 生成一个 32 字节(256 位)的随机密钥key = os.urandom(32)print("生成的密钥(十六进制):", key.hex())AES 要求明文长度是 16 字节的倍数,因此我们需要使用填充(padding)。我们将使用 CBC 模式(Cipher Block Chaining),这是最常用的模式之一。
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modesfrom cryptography.hazmat.primitives import paddingimport osdef encrypt_message(key, plaintext): # 生成一个 16 字节的随机初始化向量(IV) iv = os.urandom(16) # 创建 AES-CBC 加密器 cipher = Cipher(algorithms.AES(key), modes.CBC(iv)) encryptor = cipher.encryptor() # 对明文进行 PKCS7 填充 padder = padding.PKCS7(128).padder() padded_data = padder.update(plaintext.encode('utf-8')) + padder.finalize() # 执行加密 ciphertext = encryptor.update(padded_data) + encryptor.finalize() # 返回 IV + 密文(IV 需要和密文一起存储或传输) return iv + ciphertext解密时,我们需要先分离出 IV,然后使用相同的密钥和 IV 进行解密,并移除填充。
def decrypt_message(key, encrypted_data): # 分离 IV 和密文 iv = encrypted_data[:16] ciphertext = encrypted_data[16:] # 创建 AES-CBC 解密器 cipher = Cipher(algorithms.AES(key), modes.CBC(iv)) decryptor = cipher.decryptor() # 执行解密 padded_plaintext = decryptor.update(ciphertext) + decryptor.finalize() # 移除 PKCS7 填充 unpadder = padding.PKCS7(128).unpadder() plaintext = unpadder.update(padded_plaintext) + unpadder.finalize() return plaintext.decode('utf-8')# 主程序if __name__ == "__main__": # 生成密钥(实际应用中应安全保存) key = os.urandom(32) message = "这是需要加密的敏感信息!" print("原始消息:", message) # 加密 encrypted = encrypt_message(key, message) print("加密后(十六进制):", encrypted.hex()) # 解密 decrypted = decrypt_message(key, encrypted) print("解密后消息:", decrypted)pycryptodome 或结合 HMAC 实现认证加密(AEAD)。通过本教程,你已经掌握了如何在 Python 中使用 AES加密教程中的核心方法实现安全的对称加密。无论你是开发 Web 应用、处理用户数据,还是构建安全通信系统,这些知识都将为你打下坚实基础。记住,加密只是安全的一部分,密钥管理和系统设计同样重要。
希望这篇 Python对称加密 教程对你有帮助!如果你有任何问题,欢迎在评论区留言交流。
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123687.html