请问大家们是我理解错误吗 真的很不理解 我明明rsa加密了 还没解密为啥能读到信息
3条回答 默认 最新
- lwdbcy 2022-03-07 09:21关注
1. jwt的组成三部分
Header.PayLoad.Signature
Header(头部):存放token类型和加密算法,此处的加密算法是签名的加密算法,头部使用Base64编码;
PayLoad(载荷):存放具体的信息和业务数据(如用户的id)等等,载荷使用Base64编码;
Signature(签名):对Base64编码之后Header、PayLoad,使用头部定义的算法进行加密(你这里是rsa);2. 为啥明明加密了可以“无伤解密”回答:
因为头部和载荷使用的是Base64算法,但是Base64算法只是一种将二进制换成文本的一种编码方法,不是一种加密算法,所以看起来是可以直接解析的,最好不要将敏感信息放到载荷之中。
3. 加密的作用
加密的作用我的理解是,它是为了防止别人伪造jwt,当一个客户端携带token到服务端,只要保证这个token不是别人伪造的不就达到目的了。
当你使用rsa加密,你会怎么验证这个token的有效性,我没找到具体的讲解,不过应该是下面两种方式吧。- 再将头部和载荷使用私钥加密一次得到签名,与传送过来的token中的签名对比,是否一致。
- 使用公钥解密签名,观察解析出来的头部和载荷与token中的信息是否一致
4. 最后
如果有用可以给个采纳吗?
解决 1无用
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!