java-jwt这个库没用过吧?
阅读本文大概需要 2.8 分钟。
来自:https://blog.csdn.net/oscar999/article/details/102728303
JWT介绍
JWT概念
JWT流程:
JWT的构成
Header头部:Token类型和加密算法。加密算法常见的有MD5、SHA、HMAC( Hash Message Authentication Code)。
PayLoad负载:存放有效信息,包括
iss(Issuser) - 签发者
sub Subject 面向主体
aud Audience 接收方
exp Expiration time 过期时间戳
nbf Not Before, 开始生效时间戳
iat(Issued at) 签发时间
jti(JWT ID): 唯一标识
JWT与开发语言
JWT官网
java-jwt
<dependency>
<groupId>com.auth0groupId>
<artifactId>java-jwtartifactId>
<version>3.8.3version>
dependency>
产生加密Token
String token = JWT.create()
.withExpiresAt(newDate(System.currentTimeMillis())) //设置过期时间
.withAudience("user1") //设置接受方信息,一般时登录用户
.sign(Algorithm.HMAC256("111111")); //使用HMAC算法,111111作为密钥加密
解密Token获取负载信息并验证Token是否有效
String userId = JWT.decode(token).getAudience().get(0);
Assertions.assertEquals("user1", userId);
JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("111111")).build();
jwtVerifier.verify(token);
推荐阅读:
杭州程序员从互联网跳央企,晒一天工作和收入,网友:待一年就废
内容包含Java基础、JavaWeb、MySQL性能优化、JVM、锁、百万并发、消息队列、高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级......等技术栈!
⬇戳阅读原文领取! 朕已阅