当前位置: 首页 > 面试题库 >

JWT在python中加密有效载荷?(JWE)

唐弘益
2023-03-14
问题内容

根据RFC 7516,应该可以加密称为JWE的有效负载/声明。

是否有任何支持该功能的python库?

我已经检查了PyJWT,python-jose和jwcrypto,但它们都只提供了HS256(JWS)签名的示例

抱歉,如果这是完全显而易见的,但是在涉及加密的事情上,我要格外谨慎。


问题答案:

Jose和jwcrypto库都可以执行JWE。

对于jose:

claims = {
'iss': 'http://www.example.com',
'sub': 42,
}
pubKey = {'k':\
           '-----BEGIN PUBLIC KEY-----\n\
-----END PUBLIC KEY-----'
    }
# decrypt on the other end using the private key
privKey = {'k': 
    '-----BEGIN RSA PRIVATE KEY-----\n'+\
'-----END RSA PRIVATE KEY-----'
}

encJwt = jose.encrypt(claims, pubKey)
serJwt = jose.serialize_compact(encJwt)
decJwt = jose.decrypt(jose.deserialize_compact(serJwt), privKey)

对于jwcrypto:

# algorithm to use
eprot = {'alg': "RSA-OAEP", 'enc': "A128CBC-HS256"}
stringPayload = u'attack at dawn'
E = jwe.JWE(stringPayload, json_encode(eprot))
E.add_recipient(pubKey)
encrypted_token = E.serialize(compact=True)
E = jwe.JWE()
E.deserialize(encrypted_token, key=privKey)
decrypted_payload = E.payload


 类似资料:
  • 问题内容: 我正在使用文件上传器,并且需要请求有效负载中的详细信息以进行裁剪。 我没有10位代表来发布POST请求的图片,但是它有 所以从avatar_data我所需要的,,,和。我知道我必须封送JSON,但是我不确定如何达到这一点? 问题答案: 实现接口。

  • 当安装了Veil,我们可以查看它的命令。这些命令很简单,如下面的屏幕截图所示。例如:命令用于退出程序,用于提供有关特定工具的信息,用于列出可用工具,用于更新Veil,启用任何工具的使用,如在给定的屏幕截图中显示: 在上面的屏幕截图中,我们可以看到Veil中使用了两种类型的工具: :此工具用于生成无法检测到的后门。 :此工具用于生成Evasion使用的有效负载,它更像是一种辅助工具。 有效负载是代码

  • 我想用当前的方法加密JWT负载,比如对称或非对称加密方法。我的问题是,如果我使用这些方法,javascript需要在客户端对我的数据执行任何操作?还是加密和验证的所有部分都将在服务器端完成?在本文中,他们说,如果需要加密负载,则必须存储公钥(由于RSA或…)等加密算法的缘故)。为什么?如果我需要加密有效负载,为什么我们需要在jwt令牌中存储公钥(或任何密钥)?有没有办法只在服务器端对称加密有效负载

  • 我正在用Spring集成编写一个过滤器。 在这个过滤器中,我检查了一组先决条件。如果不满足任何先决条件,我将需要更改消息有效载荷(甚至头),以添加用户要完成的操作集,以满足它,并通过discar通道将其返回给用户。 我可以使用服务激活器,但我认为过滤器在这种情况下更具描述性。 最干净的方法是什么? 这是一种伪代码: 谢谢

  • 问题内容: 我正在使用 PHP , ExtJS 和 ajax存储 。 它不通过POST或GET发送数据(在创建,更新,销毁时)。在 Chrome控制台中, 我在“ 请求有效负载 ”字段中看到我的传出参数为JSON 。 $ _POST 和 $ _GET 为空。 如何在PHP中检索它? 问题答案: 如果我正确理解这种情况,那么您只是通过http正文传递了json数据,而不是数据。 您可以使用以下代码段