微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

aes加密解密json

AES(Advanced Encryption Standard)是一种常用的对称加密算法,可以对数据进行加密和解密。在许多应用程序中,我们需要将JSON数据进行加密和解密,以保障数据的安全性。

aes加密解密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] 举报,一经查实,本站将立刻删除。

相关推荐