登录-05.JWT令牌-介绍

一.JWT令牌

登录-05.JWT令牌-介绍_第1张图片

JWT令牌是一种简洁的、自包含的格式,用于在通讯双方之间以json数据格式安全的传输数据。说白了,JWT令牌就是将json格式的数据进行封装,从而实现安全传输。

所谓简洁,就是指JWT令牌就是一个简单的字符串。

所谓自包含,就是指我们可以根据自身需要在JWT令牌中存储自定义的数据。

组成:

第一部分是头(Header),其中的"alg"字段是签名算法的类型,这一字段用来指定签名算法,而type类型指定令牌的类型。

第二部分是有效载荷(Payload),携带自定义的信息、默认信息等。

第三部分是签名(Signature),防止Token被篡改、确保安全性。将header、payload加入指定密钥(secret),通过签名算法计算出签名。
那么头和有效载荷是如何编码出来的呢?我们使用的是Base64编码方式,是一种基于64个可打印字符来表示二进制数据的编码方式。也就是说,能够编码,就能够解码。但是数字签名部分是使用签名算法生成的,而非Base64编码。

可以看到,原始的数据就是JSON格式,即:

{
    "alg":"HS256",
    "type":"JWT"
}
{    
    "name":"Tom",
    "iat":1516239022    
}

因此说JWT令牌是以json数据格式安全的传输数据。

二.JWT令牌的应用场景

JWT令牌最经典的应用场景就是登录认证,如果没有携带JWT令牌,则直接跳转到登录页面。

登录-05.JWT令牌-介绍_第2张图片

你可能感兴趣的:(Javaweb,java,前端,数据库,spring,boot,后端,mybatis)