Skip to content

A JOSE implementation in Python (pycrypto replaced by pycryptodome).

License

Notifications You must be signed in to change notification settings

dswhite42/python-jose-cryptodome

 
 

Repository files navigation

python-jose-cryptodome

A JOSE implementation in Python using pycryptodome instead pycrypto. Stop using pycrypto use pycryptodome.

Build Status Coverage Status Docs

Docs are available on ReadTheDocs.

The JavaScript Object Signing and Encryption (JOSE) technologies - JSON Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or sign content using a variety of algorithms. While the full set of permutations is extremely large, and might be daunting to some, it is expected that most applications will only use a small set of algorithms to meet their needs.

Principles

This is a JOSE implementation that is not compatible with Google App Engine as it uses pycryptodome.

Installation

$ pip install python-jose-cryptodome

Usage

>>> from jose import jwt
>>> token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256')
u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ2YWx1ZSJ9.FG-8UppwHaFp1LgRYQQeS6EDQF7_6-bMFegNucHjmWg'

>>> jwt.decode(token, 'secret', algorithms=['HS256'])
{u'key': u'value'}

Thanks

This library was originally based heavily on the work of the folks over at PyJWT.

About

A JOSE implementation in Python (pycrypto replaced by pycryptodome).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%