如何加密字典数据?

2024-05-15 00:09:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用jwcrypto使用公钥加密数据。我已经阅读了文档,JWE类只接受纯文本作为有效负载。你知道吗

但我有一本字典要作为有效载荷加密。你知道吗

我可以将字典转换为json并加密有效负载,但是解密我的数据的人会在描述之后期待字典。你知道吗

有没有我可以加密字典作为有效载荷。你知道吗


Tags: 数据文档文本json字典公钥jwe有效载荷
1条回答
网友
1楼 · 发布于 2024-05-15 00:09:28

JWE定义了一种JSON友好的方式来加密任意数据。你知道吗

所以您想要的(加密python字典,它映射到JSON对象)不是JWE,而是JWT令牌。JWT基本上使用JWS和JWE标准对JSON对象进行签名和/或加密。你知道吗

只需使用jwcrypto doc的JWT部分:https://jwcrypto.readthedocs.io/en/latest/jwt.html

应该是这样的:

from jwcrypto.jwt import JWT
from jwcrypto.jwk import JWK
claims = {"my": "claims"} # your claims as a Python dict, that can be JSON-encoded
key = JWK.generate(kty='EC').public() # this generates an EC key, you must replace that with your recipient public key
jwt = JWT(header={"alg": "ECDH-ES+A128KW", "enc": "A256CBC-HS512"}, claims=claims) # set your own alg here according to your needs
jwt.make_encrypted_token(key)
serialized_jwt = token.serialize()

然后,反序列化必须通过一个库来完成,假设该令牌是JWT,否则您将得到JSON负载的字符串表示,您将不得不将自己解码为Python dict

相关问题 更多 >

    热门问题