python json爬虫如何进行数据加密

361
2024/12/11 9:22:46
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Python中,使用json库进行数据加密和解密可以通过多种方式实现。以下是一些常见的方法:

  1. 使用Python内置的json库进行序列化和反序列化,然后使用cryptography库进行加密和解密。
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)
  1. 使用第三方库如pycryptodome进行加密和解密。
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中对象的值