基于JWT的Token认证机制实现

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()));
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值