AES(Advanced Encryption Standard)是一种常用的对称加密算法,可以对数据进行加密和解密。在许多应用程序中,我们需要将JSON数据进行加密和解密,以保障数据的安全性。
以下是使用Python实现AES加密和解密JSON数据的代码:
import json from Crypto.Cipher import AES def pad(s): return s + (16 - len(s) % 16) * chr(16 - len(s) % 16) def unpad(s): return s[0:-ord(s[-1])] def encrypt(key,data): iv = '0123456789123456' cipher = AES.new(key,AES.MODE_CBC,iv) padded_data = pad(data) encrypted_data = cipher.encrypt(padded_data) return encrypted_data def decrypt(key,iv) decrypted_data = cipher.decrypt(data) unpadded_data = unpad(decrypted_data) return unpadded_data # 加密JSON数据 key = '1234567890123456'.encode('utf-8') data = {'name': 'Alice','age': 30} json_data = json.dumps(data).encode('utf-8') encrypted_data = encrypt(key,json_data) # 解密JSON数据 decrypted_data = decrypt(key,encrypted_data) decoded_data = decrypted_data.decode('utf-8') json_obj = json.loads(decoded_data) print(json_obj)
在这个例子中,我们使用16位的密钥对JSON数据进行加密。函数`pad()`和`unpad()`用来对数据进行填充和解填充。加密函数`encrypt()`以及解密函数`decrypt()`则使用AES对称算法对数据进行加密和解密。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。