在读本文之前需要了解的知识点:
PKI体系:Public Key Infrastructure
公钥:用来加密和验签(验签的过程其实就是用公钥解密出签名内容,与原签名内容对比是否一致)
私钥:用来解密和签名(签名的过程其实就是用私钥加密签名内容,然后将签名与签名内容一同发给对方)
关于加密与签名的区别,请参考我的另外一篇博文:接口安全:谈谈加密与签名的区别_签名和加密的区别_boweiqiang的博客-优快云博客
为了 理解jwt的验签过程,自己写的测试验证代码如下:
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File : jwt_test.py
@Contact : boweiqiang@163.com
@MTime : 2020-04-26 11:32
@Author: boweiqiang
@Version: 1.0
@Desciption:
jwt的签名算法JWT 的签名算法有三种:
1.对称加密HMAC【哈希消息验证码】 HS256/HS384/HS512
2.非对称加密RSASSA【RSA签名算法】RS256/RS384/RS512
3.ECDSA【椭圆曲线数据签名算法】 ES256/ES384/ES512,RSA签名
这里实验的是RSA签名和验签的过程
注意:本文中用的jwt是:https://pypi.org/project/jwt/,安装方法为:pip3 install jwt
注意与python-jwt区别:https://pypi.org/project/python-jwt/,安装方法为:pip install python_jwt
'''
import time
import base64
from Crypto.PublicKey import RSA
fr

本文深入解析JWT(JSON Web Token)的RSA签名与验签过程,通过Python代码演示如何使用RSA公钥与私钥进行JWT的生成与验证,揭示JWT防篡改而非防泄密的特性。
最低0.47元/天 解锁文章
8520

被折叠的 条评论
为什么被折叠?



