Skip to content

chrisseto/pyjwe

Repository files navigation

PyJWE

JSON Web Encryption implementation in Python

PyPI version Build Status

Basic Usage

import jwe

key = b'MySecretKey'
salt = b'pepper'

derived_key = jwe.kdf(key, salt)

encoded = jwe.encrypt(b'SuperSecretData', derived_key)

print(encoded)

jwe.decrypt(encoded, derived_key)  # b'SuperSecretData'

FAQ

What is the kdf function? Should I use it? Do I have to use it?

jwe.kdf is a very simple key derivation function that uses the PBKDF2.

It is mostly there for the purpose of key stretching so that users' keys do not have to be the perfect length for AES256.

You do not have to use it, but if you do not your key must be exactly 256 bits.

Why is dir the only algorithm supported?

Because key wrapping is more or less completely useless.

Why is AES 256 GCM the only encryption methd?

It met my needs and I've yet to need another method. Feel free to submit an issue if you would like another method implemented.

About

JSON Web Encryption implementation in Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages