java生成一个JWT工具代码
时间: 2024-05-11 18:16:06 浏览: 81
好的,我可以帮你生成一个生成 JWT 的 Java 工具类,并且不会透露您的任何要求。以下是一个示例代码:
```java
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtParser;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class JwtUtils {
private static final String SECRET_KEY = "secret";
public static String generateToken(String userId, String email) {
return Jwts.builder()
.setId(userId)
.setSubject(email)
.setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS512, SECRET_KEY)
.compact();
}
public static Claims decodeToken(String token) {
JwtParser jwtParser = Jwts.parser().setSigningKey(SECRET_KEY);
return jwtParser.parseClaimsJws(token).getBody();
}
}
```
这是一个简单实用的 JWT 工具类,它包含两个方法:`generateToken` 和 `decodeToken`。`generateToken` 方法用于创建 JWT,需要传入用户ID和邮箱作为主题。`decodeToken` 方法用于验证和解密 JWT。
使用示例:
```java
public static void main(String[] args) {
String token = JwtUtils.generateToken("123", "test@example.com");
System.out.println(token);
Claims claims = JwtUtils.decodeToken(token);
String userId = claims.getId();
String email = claims.getSubject();
Date iat = claims.getIssuedAt();
System.out.println(userId);
System.out.println(email);
System.out.println(iat);
}
```
以上代码仅作为示例,实际应用中应该根据具体业务需求进行扩展和修改。
阅读全文