public class JwtUtil { private static String SIGNAL = "1HU&**UUY**(GNH"; /** * 生成token */ public static String getToken(Map<String, String> map){ Calendar instance = Calendar.getInstance(); instance.add(Calendar.DATE, 30); //设置过期时间为30天 //创建jwt builder final JWTCreator.Builder builder = JWT.create(); //payload map.forEach((k,v)->{ builder.withClaim(k,v); }); String token = builder.withExpiresAt(instance.getTime())//指定令牌过期时间 .sign(Algorithm.HMAC256(SIGNAL));//sign return token; } public static DecodedJWT verify(String token){ return JWT.require(Algorithm.HMAC256(SIGNAL)).build().verify(token); } }
时间: 2023-06-16 07:07:09 浏览: 148
这是一个 Java 类,用于生成和验证 JSON Web Tokens (JWT)。JWT是一种轻量级的身份验证和授权机制,它通过在服务器和客户端之间传递加密的令牌来实现。该类中的 `getToken()` 方法用于生成JWT,它通过将包含用户信息的Map对象作为参数传递来创建JWT。JWT的过期时间被设置为30天。`verify()` 方法用于验证JWT,它需要传递JWT字符串作为参数,并返回一个 `DecodedJWT` 对象,该对象包含JWT的所有信息和有效性验证结果。这个类使用 HMAC256 算法来加密 JWT,密钥为 `SIGNAL` 变量中定义的字符串。
阅读全文