1.概念
JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息.
一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名.
2.token的创建
2.1maven依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.6.0</version>
</dependency>
2.2创建令牌
//创建令牌
//头部- 加密方式和密钥
//载荷- id用户名 subject用户名
//签名- sign
JwtBuilder builder = Jwts.builder()
.setId("666")
.setSubject("yuHang")
.setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS256, "123456");
System.out.println(builder.compact());
2.3解析令牌
//令牌
String token = "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiJ5dUhhbmciLCJpYXQiOjE1ODIwOTExNDR9.Ongl0iH2bl4cRMOd_daHz4JN9ZgPhIx4zQv87u5cbhk";
//解析令牌
Claims claims = Jwts.parser().setSigningKey("123456").parseClaimsJws(token).getBody();
System.out.println("用户ID:"+claims.getId());
System.out.println("用户名:"+claims.getSubject());
System.out.println(new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒").format(claims.getIssuedAt()));