欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 工具类:JWT

工具类:JWT

2024/10/24 13:32:41 来源:https://blog.csdn.net/m0_52150489/article/details/142626463  浏览:    关键词:工具类:JWT

工具类:JWT

  • 依赖
  • JwtUtil.java

依赖

    <!--     创建、解析 和 验证JSON Web Tokens (JWT)--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency>

JwtUtil.java

package com.nnutc.common.utils;import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;import java.util.Date;
import java.util.HashMap;
import java.util.Map;public class JwtUtil {private static final String SECRET_KEY = "1ost"; // 替换为你的密钥private static final long EXPIRATION_TIME = 3600000; // 1小时/*** 生成 JWT** @param subject 主题,可以是用户的唯一标识* @return 生成的 JWT*/public static String generateToken(String subject) {Map<String, Object> claims = new HashMap<>();JwtBuilder builder = Jwts.builder().setClaims(claims).setSubject(subject).setIssuedAt(new Date(System.currentTimeMillis())).setExpiration(new Date(System.currentTimeMillis() + EXPIRATION_TIME)).signWith(SignatureAlgorithm.HS512, SECRET_KEY);return builder.compact();}/*** 验证 JWT** @param token 要验证的 JWT* @return 是否有效*/public static boolean validateToken(String token) {try {Jwts.parser().setSigningKey(SECRET_KEY).parseClaimsJws(token);return true;} catch (Exception e) {return false;}}/*** 从 JWT 中提取主题** @param token 要提取的 JWT* @return 主题*/public static String getSubjectFromToken(String token) {Claims claims = Jwts.parser().setSigningKey(SECRET_KEY).parseClaimsJws(token).getBody();return claims.getSubject();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com