首页 > 编程语言 >Python: jwt

Python: jwt

时间:2023-06-07 17:46:04浏览次数:39  
标签:Python jwt token key print import payload

 

import jwt
from datetime import datetime

payload_data = {
    'sub': '4242',
    'iss': 'issuer',  # issuer of the token
    'name': 'Jessica Temporal',
    'nickname': 'Jess',
    'exp': int(datetime.now().timestamp()) + 5
}

key = 'secret'

token = jwt.encode(
    payload=payload_data,
    key=key
)

print(token)

header = jwt.get_unverified_header(token)
print(header)

decoded_payload = jwt.decode(
    jwt=token,
    key=key,
    algorithms=[header['alg']]
)

print(decoded_payload)

 

 

import asyncio, typing, types
import os
import random
from contextlib import contextmanager, asynccontextmanager
from urllib.request import urlopen
import jwt
from datetime import datetime
from cryptography.hazmat.primitives import serialization
from jwt.exceptions import ExpiredSignatureError

payload_data = {
    'sub': '4242',
    'name': 'Jessica Temporal',
    'nickname': 'Jess',
    'exp': int(datetime.now().timestamp())+5
}

private_key = open(os.path.expanduser('~/.ssh/id_rsa'), 'r').read()
public_key = open(os.path.expanduser('~/.ssh/id_rsa.pub'), 'r').read()
private_key_obj = serialization.load_ssh_private_key(private_key.encode(), password=b'')
print(private_key_obj)
public_key_obj = serialization.load_ssh_public_key(public_key.encode())
print(public_key_obj)

secret = 'my_super_secret'

token = jwt.encode(
    payload=payload_data,
    key=private_key_obj,  # have to use private key sign
    algorithm='RS256'
)
print('~' * 80)
print(token)

header = jwt.get_unverified_header(token)
print(header)
try:
    payload = jwt.decode(
        jwt=token,
        key=public_key_obj,  # have to use public key verify
        algorithms=[header['alg']]
    )
    print(payload)
except ExpiredSignatureError as e:
    print(e, e.args)

 

标签:Python,jwt,token,key,print,import,payload
From: https://www.cnblogs.com/dissipate/p/17464089.html

相关文章

  • Python&Excel办公自动化
    操作工作簿01新建一个excel工作簿#2023-4-17importxlwingsasxw#启动excel,但不新建工作簿app是什么,app是excel程序本身app=xw.App(visible=True,add_book=True)#新建一个工作簿workbook=app.books.add()#保存新建的工作簿workbook.save('D:\python_data/tes......
  • java代码调用Python代码
    1,使用runtime调用Python脚本String[]arguments=newString[]{"E:\\ProgramFiles\\python.exe","E:\\wzCode\\signal.py",Arrays.toString(datas),String.valueOf(Num)};......
  • python基础20
    绝对导入和相对导入绝对导入始终以执行文件位置查找相对导入使用符号(.)句点符(.).表示当前路径..表示上一级目录相对导入就可以不按照执行文件所在位置为基准,而是参照当前文件所在位置当文件中......
  • python的名称空间和作用域
    1、  2、内置名称空间:Python解释器启动则产生,关闭即销毁 全局名称空间:存放的名字:运行顶级代码产生的名字,或者说不是函数的定义,也不是内置的,剩下的都是。存活的周期:Python文件执行则产生,Python文件运行完毕后销毁 局部名称空间:存放的名字:再调用函数时,运行函数体代......
  • 【python练习】排列
    题目给定一个整数n,将数字1∼n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数n。输出格式按字典序输出所有排列方案,每个方案占一行。代码n=int(input())path=[0foriinrange(n)]used=[Falseforiinrange(n)]de......
  • Python pandas库操作 excel
    Pythonpandas库操作excel特别提示:pandas库是基于numpy库的软件库,因此安装Pandas之前需要先安装numpy库。默认的pandas不能直接读写excel文件,需要安装读、写库即xlrd、xlwt才可以实现xls后缀的excel文件的读写,要想正常读写xlsx后缀的excel文件,还需要安装openpyxl库。数据......
  • 实验六 turtle绘图与python库应用编程体验
    '''task1_1.py'''fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red&#......
  • 【Python自学】环境搭建
    一、pycharm安装二、python安装打开http://www.python.org(这个是python官网)下载配置环境。点击上方downloads下载对应版本安装后通过【win+r】调出【运行】弹窗,输入“cmd”之后打开【命令提示符】,输入python只要出现“>>>”证明你安装成功了。当你看到“>>>”的时候......
  • 【2023微博评论爬虫】用python爬上千条微博评论,突破15页限制!
    您好,我是@马哥python说,一枚10年程序猿。一、爬取目标前些天我分享过一篇微博的爬虫:马哥python说:【python爬虫案例】爬取微博任意搜索关键词的结果,以“唐山打人”为例但我的学习群中的小伙伴频繁讨论微博评论的爬取,所以,我们再分享这篇微博评论的爬虫。注意区分这两个爬虫:上次......
  • python反射、装饰和生成器
    1.反射反射允许使用变量的值(而不是变量的名)对成员进行访问反射的功能:设置属性读取属性删除属性判断属性classA:class_name="A"age=18defshow_me(self):print(class_name)attr_name="test_case_name"setattr(A,attr_name,"sex")#设置属......