JWT加密有效载荷信息

Pau*_*roz 17 encryption jwt

我是JWT技术的新手,我正在阅读很多关于它的内容.

我知道JWT有3个部分:

  1. HEADER:算法和令牌类型
  2. 有效载荷:DATA
  3. 签名将通过秘密密钥验证

是否可以加密有效载荷信息?我的意思是,比方说我在我的令牌中有这个有效载荷信息:

{
"iss": "joe",
"exp": "1300819380",
"data": {
    "id": "12",
    "userName": "PH",
    "qntRed": "7",
    "qntGrad": {
        "1": "800",
        "2": "858",
        "3": "950",
        "4": "745",
        "5": "981"
    }
}
Run Code Online (Sandbox Code Playgroud)

让我们说"qntGrad"是敏感信息.是否可以使用密钥对其进行加密?它仍然是JWT令牌吗?

Flo*_*lli 18

实际上,不仅签署了JWT,还有RFC描述的几种技术:

在您的情况下,请阅读RFC7516(JWE).这些JWE有5个部分:

  • 受保护的标题
  • 加密密钥
  • 初始化向量
  • 密文
  • 验证标签

根据您的平台,您可能会找到一个可帮助您创建此类加密JWT的库.关于PHP,我正在编写一个已经能够加载并创建这些jose的库.