我需要帮助!
我在我的python项目中使用AES进行数据加密。使用下面名为encrypt
的方法我可以加密数据。这种方法有效,我可以将加密数据保存在数据库中。我使用mongodb。
我的问题是当我尝试解密这些数据时.Below写了一个查询。我测试它以json格式返回数据。
patient_data = mongo.db.patients.find_one({'_id': doc_id})
doc = decrypt(patient_data)
参数patient_data
是一个json。当我使用解密方法并运行我的项目时,我有以下错误:
我添加了代码,我如何进行AES加密/解密
key=b'\xbf\xc0\x85)\x10nc\x94\x02)j\xdf\xcb\xc4\x94\x9d(\x9e[EX\xc8\xd5\xbfI{\xa2$\x05(\xd5\x18'
cipher = AES.new(key)
def pad(s):
return s + ((16-len(s) % 16) * '{')
def encrypt(patient_data):
global cipher
for d in patient_data:
encoded=cipher.encrypt(pad(patient_data[d]))
encoded = b64encode(encoded)
patient_data_encrypted = patient_data
patient_data_encrypted[d] = encoded
# decode the encoded string
return patient_data_encrypted
def decrypt(patient_data):
global cipher
for d in patient_data:
patient_data = b64decode(patient_data[d])
dec = cipher.decrypt(patient_data).decode('utf8')
l = dec.count('{')
decoded = dec[:len(dec)-l]
patient_data_dencrypted = patient_data
patient_data_dencrypted[d] = decoded
return patient_data_dencrypted
[1]: http://i.stack.imgur.com/Mj4VL.png