gpt4 book ai didi

go - (Golang) JWT 签名验证问题

转载 作者:IT王子 更新时间:2023-10-29 01:27:05 24 4
gpt4 key购买 nike

我正在尝试了解 Golang 中的 JWT token 。我正在使用 github.com/dgrijalva/jwt-go .

让我措手不及的是我可以输入多个有效签名。

例如,转到 http://jwt.io- 输入 MySuperSecretKey 作为 secret

此 token 有效:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NTc3MzAyODMsInVzZXIiOiJ1c2VyMSJ9.SxshVL42DUH9e7jXUblbB_bTwKxhe4jo70DrvbQMlaU

还有这个:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NTc3MzAyODMsInVzZXIiOiJ1c2VyMSJ9.SxshVL42DUH9e7jXUblbB_bTwKxhe4jo70DrvbQMlaV

事实上,如果我将最后一个字母更改为 V、W 或 X,我会收到“签名已验证”消息。

谁能告诉我这是怎么回事?

最佳答案

签名的Base64编码,可以在不影响相关位的情况下,将最后一个字母更改为特定目标。

尝试将两个签名弹出到 base64->hex 解码器中,您将得到相同的结果。事实上在https://conv.darkbyte.ru/两个签名都被重新评估为 base64 SxshVL42DUH9e7jXUblbBbTwKxhe4jo70DrvbQMlaQ==

关于go - (Golang) JWT 签名验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35950072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com