使用JWT的超详细教程更新的时间是, 二零二四年, 十月十七日, 十一点三十四分零二秒, 作者是, 黄小耶。围绕使用 JWT 的相关资料, 这篇文章予以了主要介绍, JWT 即 JSON Web , 它属于一种网络应用间传输信息的标准, 其涵盖三部分, 分别是头部、负载、签名, 头部含有声明类型和算法, 有需要的朋友能够参考一下。一、JWT的介绍有着简洁特性、URL安全特点的令牌标准JWTJSON Web是用于在网络应用环境之间安全传输信息的, JWT的声明常被用于在身份提供者与服务提供者之间传递被认证过的用户各种身份对应信息来以便获得到从资源服务器的资源, 同样呢还能够添加进去额外的是其它业务逻辑需要的声明相关信息, 该token既能够直接用于认证, 又能够被加密处理。二、JWT的组成JWT的结构分成三部分组成, 其是借由点予以分割的, 就是头部, 还有负载, 以及签名。如同下面这张图所示。1、头部头部一般涵盖着两部分内容, 一部分是声明类型, 另一部分是使用何种算法, 其中第一部分是把json变成字符串, 再进行加密, 有如下面这种格式。{ alg:HS256, type:jwt }2、负载负荷当中一般而言便是我们所说的要传予前端的数值, 像用户的某些信息呀, 同样是把json转变为字符串, 之后进行加密, 呈现出如下的格式。{ id:123, username:xiaoming }3、签名签名有着保证JWT未曾被篡改的作用, 签名的生成方式是, 要把编码后的头部、编码后的负载、秘密依据指定算法来进行签名, 签名又能保证JWT的发送者无法抵赖自身发送的消息, 接收者可验证消息完整性呢此处是把前两部分的密文拼接起来, 针对这两部分开展HS256加密, 接着加盐, 最后再对加密后的内容进行一次加密三、写JWT1、安装Jwtpip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyJWT2、使用JWTimport datetime import jwt def create_jwt(): headers { alg: HS256, typ: JWT } # jwt的头部包含了类型和算法的指定 payload { id: 123, username: 小明, exp: datetime.datetime.utcnow() datetime.timedelta(hours12), } # jwt的负载都是一些自定义值,其中exp中的内容是我们指定jwt的一个有效时间有效时间为12个小时 token jwt.encode(headersheaders, payloadpayload, algorithmHS256, key123) # 对上面内容进行加密这里的key就是加的盐 print(token) if __name__ __main__: create_jwt()3、解密JWTimport datetime import jwt def create_jwt(): headers { alg: HS256, typ: JWT } # jwt的头部包含了类型和算法的指定 payload { id: 123, username: 小明, exp: datetime.datetime.utcnow() datetime.timedelta(hours12), } # jwt的负载都是一些自定义值,其中exp中的内容是我们指定jwt的一个有效时间有效时间为12个小时 token jwt.encode(headersheaders, payloadpayload, algorithmHS256, key123) # 对上面内容进行加密,这里的key就是加的盐,是自定义的,我们在使用盐的时候一般是唯一的一个值 print(token) return token def decode_JWT(token): content jwt.decode(jwttoken, key123, algorithms[HS256]) # 对jwt进行解密,这里用的key必须和上面用的key一样否则是无法解密出来的 print(content) if __name__ __main__: token create_jwt() decode_JWT(token)解密出来的结果如下图总结文章关于使用JWT的部分, 到此就介绍完毕了, 更多关于使用JWT的相关内容, 若想了解可搜索脚本之家以往的文章, 或者继续浏览下面的相关文章, 期望未来大家能多多支持脚本之家