这个问题已经在这里得到解答: How to encrypt JSON in python但是,我在使用加密模块时遇到错误。raise TypeError("{} must be bytes".format(name))
TypeError: data must be bytes这是我的代码:from cryptography.fernet import Fernetkey= b'F9tdtAlS5kqVL5_uxKCnOPailXUqKsJmxbHWGLv_H-c='with open('info.json', 'rb') as loader1: params = json.load(loader1)if xyz(x, y)==True: fernet = Fernet(key) encrypted=fernet.encrypt(params) print(encrypted) with open('info.json', 'wb') as writer1: json.dump(encrypted, writer1) print("Operation was a success")else: print("error")
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
如果您在原始答案中看到,他们正在从 json 文件读取内容,而不是使用 json.load,因此他们加密的内容是字节格式,但是您输入的是 json,因此错误数据必须是字节。快速修复方法是将 json 转换为字符串json.loads
,然后将其编码为字节格式,然后再将其输入 fernet.encrypt()
添加回答
举报
0/150
提交
取消