【问题标题】:how do i know if a json web token is tampered with or not我如何知道 json Web 令牌是否被篡改
【发布时间】:2018-01-15 18:55:37
【问题描述】:

有什么方法可以知道 JSON Web Token 是否被篡改。比如body变了或者过期时间变了等等。

我已经尝试阅读 JWT 的 RFC,但该语言对我来说有点高级。

【问题讨论】:

    标签: javascript json encryption jwt


    【解决方案1】:

    来自Wikipedia

    JWT 通常包含三个部分:标头、有效负载和签名。标头标识用于生成签名的算法,如下所示:

    header = '{"alg":"HS256","typ":"JWT"}'
    

    签名是通过base64url对header和payload进行编码,并用句点作为分隔符连接起来的:

    总而言之,签名是 base64url 编码的。

    所以...您获取令牌的签名,从 base64 解码,从标头中获取加密算法并为 base64 编码的标头 + '.' 生成签名+ base64 编码的有效载荷。如果你计算的签名和你收到的签名匹配,那么很可能没有人篡改 JWT。

    【讨论】:

      猜你喜欢
      • 2018-04-09
      • 1970-01-01
      • 2010-12-08
      • 2014-12-26
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多