https://jwt.io/具有以下jwt标记示例:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
但是,如果我使用http://www.freeformatter.com/hmac-generator.html进行HMAC SHA 256签名:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9
(使用密钥“secret”),它给我这个签名:
4c9540f793ab33b13670169bdf444c1eb1c37047f18e861981e14e34587b1e04
如何获得正确的签名:
TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
答案 0 :(得分:1)
您拥有的结果是十六进制。您所追求的结果被编码为base64。
您只需将十六进制转换为原始数据,然后将其编码为base64。我没有检查这些值是否真的相同,但这是最可能的问题!