JWT

作者: 葫芦葫芦快显灵 | 来源:发表于2019-07-25 23:18 被阅读0次

简介

JWT(json web token)是一种基于json的,在网络上声明某种主张的令牌(token)。JWT定义了一种紧凑且自包含的方式,用于作为JSON对象在各方之间安全地传输信息。一般使用对称加密(HMAC算法)或非对称加密(RSA)进行签名。

结构

JWT一般包含三个部分: 头部信息(Header),消息体(Payload), 签名(Signature)

头信息 Header

头信息由两部分组成: alg 和typ
"{'alg': 'HS256', 'typ': 'jwt'}"

alg 指定了加密方式,HMAC-SHA256或者RSA
typ 指定了类型,是否为jwt

消息体 Payload

消息体包含了jwt的意图,可以包含多个字段
消息体一般会进行base64编码
"{'mobile_number': '17300000000', 'name': 'whj'}"

签名 Signature

对密钥和对header与payload组成的字符串进行签名

key = 'secret_key'
unsign_token = Base64.encode64(header) + '.' + Base64.encode64(payload)
signature = HMAC-SHA256(key, unsign_token)

总体组成

token = Base64.encode64(header) + '.' + Base64.encode64(payload) + '.' + Base64.encode64(signature) 

JWT常常被用作保护服务端的资源(resource),客户端通常将JWT通过HTTP的Authorization header发送给服务端,服务端使用自己保存的key计算、验证签名以判断该JWT是否可信

相关文章

  • JsonWebToken

    JWT (JsonWebToken) JWT官网['https://jwt.io/'] JWT简介 1.JWT(J...

  • JWT介绍和使用

    最权威网址 JWT官网: https://jwt.io/ 什么是JWT Json web token (JWT),...

  • JWT实现token验证

    JWT官网:https://jwt.io/[https://jwt.io/] JWT(Java版)的github地...

  • 使用RSA公私钥实现JWT令牌的签名和验签

    使用RSA公私钥实现JWT令牌的签名和验签 1、什么是JWT令牌 JWT基本概念可从JWT[https://jwt...

  • JWT Spring-security

    JWT设计原理 JWT结合spring-security在项目中的应用 JWT[https://jwt.io/in...

  • JWT的介绍解析

    JWT的介绍解析 一、什么是JWT?了解JWT,认知JWT 首先jwt其实是三个英语单词JSON Web Toke...

  • JWT、SWT、SAML

    一、 JWT from:https://jwt.io/introduction[https://jwt.io/in...

  • jwt 在微服务中应用

    jwt token jwt 在api 方式中表中的token生成,验证以及获取jwt解密后携带的用户信息 jwt ...

  • FusionAuth JWT

    本文介绍基于 FusionAuth JWT 的 JWT 实现方法。 目录 FusionAuth JWT 简介 代码...

  • .Net Core接入JWT

    JWT网站:https://jwt.io/ JWT基础内容:https://baijiahao.baidu.com...

网友评论

      本文标题:JWT

      本文链接:https://www.haomeiwen.com/subject/ixklrctx.html