gpt4 book ai didi

c# - ASP.NET Core JWT - HmacSha512 和 HmacSha512Signature 算法有什么区别?

转载 作者:行者123 更新时间:2023-12-05 03:16:39 25 4
gpt4 key购买 nike

SecurityAlgorithms 类中有这两个相似的选项。应该使用哪一个来签署 JWT token ?有区别吗?

最佳答案

不同之处在于 token 的 header ,特别是 alg 属性。当您使用 HmacSha512 时, header 如下所示:

{
"alg": "HS512",
"typ": "JWT"
}

但是当您使用 HmacSha512Signature 时, header 如下所示:

{
"alg": "http://www.w3.org/2001/04/xmldsig-more#hmac-sha512",
"typ": "JWT"
}

您可以确认使用 https://jwt.io/ .

当我遇到同样的问题时,我发现许多库(主要是 .NET 之外的库) 支持 http://www.w3.org/2001/04/xmldsig -more#hmac-sha512 作为 alg 属性的有效值,因为它不包含在 JSON Web Algorithms RFC, Section 3.1 中.

相关讨论1:https://github.com/auth0/node-jsonwebtoken/issues/662

相关讨论2:https://giters.com/jwtk/jjwt/issues/676

所以我个人决定使用 HmacSha512。如果您的整个系统将在 .NET 生态系统内开发,您可以使用其中任何一个并且它们的工作方式相同,但如果 token 可以由非 .NET 的应用程序使用,则最好使用 HmacSha512 .

关于c# - ASP.NET Core JWT - HmacSha512 和 HmacSha512Signature 算法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74588231/

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