关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
三个月前关门了。
改进这个问题
我有一个应用程序正在使用基于jwt令牌的授权。所以我在玩它。我将告诉你我所遵循的步骤。
通过使用postman的api调用获取用户的jwt令牌
复制了jwt令牌并将其粘贴到jwt.io网站上
我得到了一些有效载荷值和头
尝试从网站创建一个新的jwt令牌,使用我从步骤3得到的确切的头和有效负载
使用了我的服务器用来散列jwt令牌的相同密钥。
最后,我在新创建的jwt令牌中得到了一个不同的签名。
那么原因是什么呢?我使用了相同的有效载荷,相同的头和相同的密钥仍然得到了不同的签名为什么?请帮帮我。
1条答案
按热度按时间1cosmwyk1#
jwt的签名是散列函数的输出。此函数的输出可能依赖于您提到的字段以外的字段。例如,您的jwt可能在某个时间发布了(
iat
)字段,这对于您正在检查的两个令牌来说是不同的。如果是这样,那么两个令牌的校验和也将不相同。我的一般建议是验证jwt中的所有字段是否都是相同的。