在Python中,有多种方法可以实现数据加密。以下是一些常用的加密方法:
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
import os
key = os.urandom(32) # 生成一个32字节的随机密钥
iv = os.urandom(16) # 生成一个16字节的随机初始化向量
cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend())
encryptor = cipher.encryptor()
plaintext = b"Hello, World!"
ciphertext = encryptor.update(plaintext) + encryptor.finalize()
decryptor = cipher.decryptor()
decrypted_text = decryptor.update(ciphertext) + decryptor.finalize()
print(decrypted_text.decode('utf-8')) # 输出:Hello, World!
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
import base64
key = get_random_bytes(32) # 生成一个32字节的随机密钥
iv = get_random_bytes(16) # 生成一个16字节的随机初始化向量
cipher = AES.new(key, AES.MODE_CBC, iv)
plaintext = b"Hello, World!"
ciphertext = cipher.encrypt(plaintext)
# 将加密后的数据转换为Base64编码,以便于传输和存储
ciphertext_base64 = base64.b64encode(ciphertext)
decrypted_text = cipher.decrypt(base64.b64decode(ciphertext_base64))
print(decrypted_text.decode('utf-8')) # 输出:Hello, World!
请注意,以上示例仅用于演示目的,实际应用中可能需要考虑更多的安全因素,如密钥管理、加密模式的选择等。同时,解密时需要确保使用与加密时相同的密钥和初始化向量。