代码之家  ›  专栏  ›  技术社区  ›  skrebbel

JWTs相对于纯消息+HMAC的优势?

  •  0
  • skrebbel  · 技术社区  · 6 年前

    在这种情况下,我想通常的答案是JWTs。他们很好地解决了我的问题:我们客户的后端程序员可以对他们的某个用户提出一些声明,用我们给他们的密钥签名,通过前端发送,我们可以在后端验证这些声明。这很优雅,因为这意味着在他们的后端和我们的后端之间没有直接的依赖关系,我们仍然可以共享经过验证的声明。

    1. 很少有语言有内置支持,所以您需要安装一些库来实现它,并希望它得到很好的实现。
    2. none 算法让我担心我可能会错误地使用它们,或者我们的客户可能会。

    所以我在想,与所有的“不要滚你自己的密码”的建议相反,JWT真正提供了什么,而HMAC没有呢?

    令牌=base64_encode(声明)+hmac(声明,密钥)

    1. 许多语言都内置了对eg HMAC-SHA256的支持,充分保证了加密实现的质量。
    2. 而且,它通常是一条线。告诉客户“复制并粘贴这行代码”比告诉他们“安装这个复杂的库并希望它能工作”更有吸引力
    3. JWT与复杂性无关。

    有理由吗 是吗?什么,真的,JWT的报价比 message + hmac 方案类型?

    0 回复  |  直到 6 年前