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 keyprivKey = {'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 useeprot = {'alg': "RSA-OAEP", 'enc': "A128CBC-HS256"}stringPayload = u'attack at dawn'E = jwe.JWE(stringPayload, json_enpre(eprot))E.add_recipient(pubKey)encrypted_token = E.serialize(compact=True)E = jwe.JWE()E.deserialize(encrypted_token, key=privKey)decrypted_payload = E.payload


