You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import json
|
|
|
|
|
|
|
|
|
|
|
|
class Letter:
|
|
|
|
sign = "计算得到"
|
|
|
|
encryptType = "SM4_GCM"
|
|
|
|
encryptKey = "计算获得" # recvPubKey 加密后的 对称加密秘钥 数据
|
|
|
|
recvPubKey = ""
|
|
|
|
senderPubKey = ""
|
|
|
|
|
|
|
|
fileName = ""
|
|
|
|
fileBase64 = ""
|
|
|
|
|
|
|
|
def to_dict(self):
|
|
|
|
return {
|
|
|
|
"sign": self.sign,
|
|
|
|
"encryptType": self.encryptType,
|
|
|
|
"encryptKey": self.encryptKey,
|
|
|
|
"recvPubKey": self.recvPubKey,
|
|
|
|
"senderPubKey": self.senderPubKey,
|
|
|
|
"fileName": self.fileName,
|
|
|
|
"fileBase64": self.fileBase64
|
|
|
|
}
|
|
|
|
|
|
|
|
def json_to_obj(json_str):
|
|
|
|
new_obj= Letter()
|
|
|
|
new_obj.sign = json_str["sign"]
|
|
|
|
new_obj.encryptType = json_str["encryptType"]
|
|
|
|
new_obj.encryptKey = json_str["encryptKey"]
|
|
|
|
new_obj.recvPubKey = json_str["recvPubKey"]
|
|
|
|
new_obj.senderPubKey = json_str["senderPubKey"]
|
|
|
|
new_obj.fileName = json_str["fileName"]
|
|
|
|
new_obj.fileBase64 = json_str["fileBase64"]
|
|
|
|
return new_obj
|
|
|
|
|
|
|
|
# test code
|
|
|
|
if __name__ == '__main__':
|
|
|
|
letter = Letter()
|
|
|
|
# print(json.dumps(letter.to_dict(), indent=1))
|
|
|
|
json_dict = json.loads(json.dumps(letter.to_dict()))
|
|
|
|
print(json_dict.__dir__)
|