首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中JWT加密有效载荷?(JWE)

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

Stack Overflow用户
提问于 2016-08-26 17:30:11
回答 2查看 11.7K关注 0票数 8

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

有没有支持它的python库?

我已经检查过PyJWT、python-jose和jwcrypto,但它们都只提供了使用HS256签名的示例。

抱歉,如果这是完全显而易见的,但当涉及到加密的事情时,我会格外小心。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-20 02:33:09

Jose和jwcrypto库都可以执行JWE。

对于jose

代码语言:javascript
复制
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

代码语言:javascript
复制
# 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
EN

Stack Overflow用户

发布于 2019-06-03 16:09:28

https://jwcrypto.readthedocs.io/en/latest/jwk.html#examples

代码语言:javascript
复制
from jwcrypto import jwk
_k = jwk.JWK.generate(kty='RSA', size=2048)
_text = _k.export()

import json
# loading the key back
_import_key_dict = json.loads(_text)
key = jwk.JWK(**json.loads(_import_key_dict))

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39163000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档