智威汤逊 - 如何计算签名

智威汤逊 - 如何计算签名

问题描述:

https://jwt.io/有JWT令牌下面的例子:智威汤逊 - 如何计算签名

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

但是,如果我用http://www.freeformatter.com/hmac-generator.html做一个HMAC SHA 256签署:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9

(使用密钥“秘密”),它给了我这样的签名:

4c9540f793ab33b13670169bdf444c1eb1c37047f18e861981e14e34587b1e04

我该怎么办,以获得正确的签名:

TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

+1

你得到的结果是十六进制。你想要的结果是base64。将十六进制解码为原始数据,然后将其编码为base64。或者如果你喜欢它,直接做。 –

+1

谢谢卢克 - 如果你把这个作为答案,我会标记它是正确的 –

结果你有十六进制。你后面的结果被编码为base64。

您只需将十六进制转换为原始数据,然后将其编码为base64即可。我没有检查数值是否相同,但这是最可能发生的问题!