【发布时间】:2021-01-03 10:59:40
【问题描述】:
我正在尝试验证 JWT 令牌上的签名。为此,我将我的秘密粘贴到 jwt.io,然后粘贴我的令牌,然后检查页面底部的签名验证指示器。最终验证签名的是我的非编码秘密,并检查了 base 64 编码的秘密标志。
我的秘密是 ABC123_abC123-Abc123-abC 的形式——它包含非法的 base 64 字符,显然不是 base 64 编码,但 jwt.io 似乎不同意?这是什么原因?
【问题讨论】:
-
所以您首先粘贴了秘密(“base64 编码秘密”未检查,然后是令牌,未验证,然后检查“base64 编码秘密”并得到验证?当您更改任何内容时粘贴令牌后的右侧,将重新计算签名,然后自动验证。jwt.io 上的 base64 解码器显然非常宽容,会消耗你提供的任何内容,而忽略不可转换的字符。
-
我在检查 base 64 编码框后重新粘贴了我的令牌以进行验证,我希望可以打开和关闭此行为。有时我觉得它很有帮助,但更多时候我宁愿它不那样工作。