在Python中,使用json库进行数据加密和解密可以通过多种方式实现。以下是一些常见的方法:
import json
from cryptography.fernet import Fernet
# 生成密钥
key = Fernet.generate_key()
cipher_suite = Fernet(key)
# 待加密的数据
data = {"name": "John", "age": 30}
# 将数据转换为JSON字符串
data_json = json.dumps(data)
# 加密JSON字符串
encrypted_data = cipher_suite.encrypt(data_json.encode())
print("加密后的数据:", encrypted_data)
# 解密JSON字符串
decrypted_data = cipher_suite.decrypt(encrypted_data).decode()
# 将解密后的JSON字符串转换回字典
decrypted_dict = json.loads(decrypted_data)
print("解密后的数据:", decrypted_dict)
import json
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
# 待加密的数据
data = {"name": "John", "age": 30}
# 将数据转换为JSON字符串
data_json = json.dumps(data)
# 生成随机密钥
key = get_random_bytes(16)
# 创建AES加密器
cipher = AES.new(key, AES.MODE_CBC)
# 加密JSON字符串
encrypted_data = cipher.encrypt(pad(data_json.encode(), AES.block_size))
print("加密后的数据:", encrypted_data)
# 解密JSON字符串
cipher = AES.new(key, AES.MODE_CBC, cipher.iv)
decrypted_data = unpad(cipher.decrypt(encrypted_data), AES.block_size)
print("解密后的数据:", decrypted_data.decode())
# 将解密后的JSON字符串转换回字典
decrypted_dict = json.loads(decrypted_data.decode())
print("解密后的数据:", decrypted_dict)
请注意,加密和解密数据时,应确保密钥的安全存储和管理,因为密钥的安全性对于保护数据至关重要。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: python怎么修改list中对象的值