为什么在 JWT 中使用 Base64?
Why Base64 is used in JWTs?
我正在尝试了解 JSON Web 令牌,并了解到 Base64 是其中使用的编码。由于 base64 可以轻松解码,我的问题是为什么要使用它们。为什么不使用单向哈希函数来生成令牌?
如果问题看起来很愚蠢,请原谅我
你是对的,base 64 很容易解码,但是基于 64 编码的 2 个部分(Header 和有效载荷)并不意味着要隐藏。
只是一般性的介绍,一个 JWT 令牌由 3 个部分 nl 组成。
1.Header(算法)
2.Payload(用户数据)
3.签名
header 和有效负载包含 non-sensitive 数据,但此数据提供了足够的信息来帮助您识别向您提供令牌的用户。因此,为了能够授予他刷新令牌或允许他访问某些资源,您需要了解有关他的一些信息,而用户不必在每次调用时提供他的凭据。
所以是的,它很容易解码,但这就是签名的第 3 部分。签名采用 header 和有效负载的 base64 编码值并使用一些密钥对它们进行哈希处理。这样做是为了当密钥从客户端进入您的后端时,我们可以首先检查有效负载(可能包含权限)是否已被更改或更改,如果它们具有令牌的哈希值,则不会是还是一样。
有关更多信息,请查看以下资源:
https://jwt.io/(查看结构)
https://jwt.io/introduction/(一般信息)
JSON Web Token (JWT) 是一种开放标准,它定义了一种紧凑且独立的方式,用于在各方之间安全地传输信息作为 JSON 对象。
事实上,JWT 是以下类型令牌的通用名称:
JSON Web Signature (JWS):有效载荷是 编码和签名 所以 完整性 可以验证声明。
JSON Web Encryption (JWE):它们的有效载荷是 加密的 因此声明对其他人是 隐藏的 派对。
As base64 can be decoded easily, my question is why to use them.
JWT 使用 Base64url, which is slightly different from Base64.
使用 Base64 的可能原因之一:它是一种非常流行的编码格式,并且在大多数情况下容易使用它编程语言。此外,Base64url 是 URL-safe,因此令牌 在 URL.
中发送
Why not use a one-way hash function to generate the token?
它违背了签名 JWT 的目的,因为接收方无法解析令牌的内容。
我正在尝试了解 JSON Web 令牌,并了解到 Base64 是其中使用的编码。由于 base64 可以轻松解码,我的问题是为什么要使用它们。为什么不使用单向哈希函数来生成令牌?
如果问题看起来很愚蠢,请原谅我
你是对的,base 64 很容易解码,但是基于 64 编码的 2 个部分(Header 和有效载荷)并不意味着要隐藏。
只是一般性的介绍,一个 JWT 令牌由 3 个部分 nl 组成。 1.Header(算法) 2.Payload(用户数据) 3.签名
header 和有效负载包含 non-sensitive 数据,但此数据提供了足够的信息来帮助您识别向您提供令牌的用户。因此,为了能够授予他刷新令牌或允许他访问某些资源,您需要了解有关他的一些信息,而用户不必在每次调用时提供他的凭据。
所以是的,它很容易解码,但这就是签名的第 3 部分。签名采用 header 和有效负载的 base64 编码值并使用一些密钥对它们进行哈希处理。这样做是为了当密钥从客户端进入您的后端时,我们可以首先检查有效负载(可能包含权限)是否已被更改或更改,如果它们具有令牌的哈希值,则不会是还是一样。
有关更多信息,请查看以下资源: https://jwt.io/(查看结构) https://jwt.io/introduction/(一般信息)
JSON Web Token (JWT) 是一种开放标准,它定义了一种紧凑且独立的方式,用于在各方之间安全地传输信息作为 JSON 对象。
事实上,JWT 是以下类型令牌的通用名称:
JSON Web Signature (JWS):有效载荷是 编码和签名 所以 完整性 可以验证声明。
JSON Web Encryption (JWE):它们的有效载荷是 加密的 因此声明对其他人是 隐藏的 派对。
As base64 can be decoded easily, my question is why to use them.
JWT 使用 Base64url, which is slightly different from Base64.
使用 Base64 的可能原因之一:它是一种非常流行的编码格式,并且在大多数情况下容易使用它编程语言。此外,Base64url 是 URL-safe,因此令牌
Why not use a one-way hash function to generate the token?
它违背了签名 JWT 的目的,因为接收方无法解析令牌的内容。