- Jwcrypto Key Generate From Modulus 1
- Jwcrypto Key Generate From Modulus Data
- Jw Crypto Key Generate From Modulus Chart
Working RSA crypto functions with a rudimentary interface. Currently, it is good enough to generate valid key/pairs and demonstrate the algorithm in a way that makes it easy to run experiments and to learn how it works. How Large a Modulus (Key) Should be Used in RSA? The best size for an RSA modulus depends on one's security needs. The larger the modulus, the greater the security, but also the slower the RSA operations.
Released:
Module for generating and verifying JSON Web Tokens
Project description
Module for generating and verifying JSON Web Tokens.
- Note: From version 2.0.1 the namespace has changed from
jwt
topython_jwt
, in order to avoid conflict with PyJWT. - Note: Versions 1.0.0 and later fix a vulnerability in JSON Web Token verification so please upgrade if you're using this functionality. The API has changed so you will need to update your application. verify_jwt now requires you to specify which signature algorithms are allowed.
- Uses jwcrypto to do the heavy lifting.
- Supports RS256, RS384, RS512, PS256, PS384, PS512, HS256, HS384, HS512 and none signature algorithms.
- Unit tests, including tests for interoperability with node-jsjws.
- Supports Python 2,7 and 3.6+. Note:generate_jwt returns the token as a Unicode string, even on Python 2.7.
Example:
The API is described here.
Installation
Another Example
You can read and write keys from and to PEM-format strings:
Licence
Tests
Lint
Code Coverage
coverage.py results are available here.
Coveralls page is here.
Benchmarks
Here are some results on a laptop with an Intel Core i5-4300M 2.6Ghz CPU and 8Gb RAM running Ubuntu 17.04.
Generate Key | user (ns) | sys (ns) | real (ns) |
---|---|---|---|
RSA | 103,100,000 | 200,000 | 103,341,537 |
Generate Token | user (ns) | sys (ns) | real (ns) |
---|---|---|---|
HS256 | 220,000 | 0 | 226,478 |
HS384 | 220,000 | 0 | 218,233 |
HS512 | 230,000 | 0 | 225,823 |
PS256 | 1,530,000 | 10,000 | 1,536,235 |
PS384 | 1,550,000 | 0 | 1,549,844 |
PS512 | 1,520,000 | 10,000 | 1,524,844 |
RS256 | 1,520,000 | 10,000 | 1,524,565 |
RS384 | 1,530,000 | 0 | 1,528,074 |
RS512 | 1,510,000 | 0 | 1,526,089 |
Load Key | user (ns) | sys (ns) | real (ns) |
---|---|---|---|
RSA | 210,000 | 3,000 | 210,791 |
Verify Token | user (ns) | sys (ns) | real (ns) |
---|---|---|---|
HS256 | 100,000 | 0 | 101,478 |
HS384 | 100,000 | 10,000 | 103,014 |
HS512 | 110,000 | 0 | 104,323 |
PS256 | 230,000 | 0 | 231,058 |
PS384 | 240,000 | 0 | 237,551 |
PS512 | 240,000 | 0 | 232,450 |
RS256 | 230,000 | 0 | 227,737 |
RS384 | 230,000 | 0 | 230,698 |
RS512 | 230,000 | 0 | 228,624 |
Release historyRelease notifications
3.2.6
3.2.5
Jwcrypto Key Generate From Modulus 1
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.0
3.0.0
Jwcrypto Key Generate From Modulus Data
2.0.2
2.0.1
2.0.0
1.2.1
1.2.0
1.1.7
1.1.6
1.1.5
1.1.3
1.1.2
1.1.1
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
Jw Crypto Key Generate From Modulus Chart
0.2.0
0.1.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size python_jwt-3.2.6-py2.py3-none-any.whl (6.7 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes |
Filename, size python_jwt-3.2.6.tar.gz (247.7 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for python_jwt-3.2.6-py2.py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | f13bdd52a8f83250a204fa290cdc980aa847fa3e7f7cb9b6f70391d3306cb85b |
MD5 | e0b9c1c39a9da7d9c933184f52f728b5 |
BLAKE2-256 | 6220fe3b51499d9da7167e561d9affaf59694031e035bd44b8df140260d09f71 |
Hashes for python_jwt-3.2.6.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | 605031f3f0f5bc3921e5683d8002706e7e926848e7a898241efa81e0b8d4303b |
MD5 | 23cb31d80df8f28cd45333184ffece15 |
BLAKE2-256 | 55d49878907bd855440ed622708069a77aea78bef4f3e5a7223cb59c6f65a491 |
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.