JWT简介
全称 : JSON Web Token (https://iwt.io/)
定义了一种简洁的、自包含的格式,用于在通信双方以ison数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的
组成:
第一部分: Header(头),记录签名算法、令牌类型等。例如:{“alg”:"HS256"“type”:"JWT”}
第二部分: Payload(有效载荷),携带一些自定义信息、默认信息等。例如:{“id”:“1”,“username”:"Tom”}
第三部分: Signature(签名),防止Token被篡改、确保安全性。将 header、payload 加入指定秘钥,通过指定签名算法计算而来
JWT生成通过Base64编码实现 : 是一种基于64个可打印字符 (A-Z a-z 0-9 + /)来表示二进制数据的编码方式。
JWT生成
在 pom.xml 文件中导入JWT依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
生成JWT:前两个部分根据Base64算法生成的,最后一个部分根据HS256生成的
public void testGenJwt(){
Map<String,