JWT 加密

JWT

  • Json Web Token(JWT) 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准
  • 常应用于服务端认证接口的无 session 方案
  • 服务端生成一个标识,并使用某种算法对标识签名,并发送给客户端。
  • 服务端收到客户端发来的标识,需要检查签名。

 

安装jwt

  • 【报错信息】:ERROR: Could not find a version that satisfies the requirement pyjwt (from versions: none)
    ERROR: No matching distribution found for pyjwt
  • 【解决方法】:pip无法安装解决方案

 

jwt.encode(参数,秘钥,加密方式)

import jwt
import datetime
#playload 载荷就是存放有效信息的地方
playload = {
    # 创建一个过期时间
    'exp': int((datetime.datetime.now() + datetime.timedelta(hours=4)).timestamp()),
    'uid': user.id
}
encode_jwt = jwt.encode(playload, '秘钥', algorithm='HS256')
#加密后是二进制形式 要转码为str
encode_str = str(encode_jwt, 'utf-8')

 

一个完整的🌰

import datetime,jwt

def get_authorization(uid=10235922):

   authorization = jwt.encode({"uid": uid, "exp": datetime.datetime.now() + datetime.timedelta(days=1), },
                                  "lp$5F@nfN0Oh1234", algorithm="HS256")
   return authorization
posted @ 2022-02-23 22:49  青山原  阅读(479)  评论(0编辑  收藏  举报