java jwt工具类
时间: 2023-08-03 07:05:58 浏览: 126
java工具类
当然,我可以为您提供一个简单的Java JWT工具类的示例代码。JWT(JSON Web Token)是一种用于进行身份验证和授权的开放标准,通常用于构建无状态的API。
以下是一个基本的Java JWT工具类示例:
```java
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class JwtUtils {
private static final String SECRET_KEY = "your-secret-key"; // 修改为您自己的密钥
private static final long EXPIRATION_TIME = 864_000_000; // 过期时间设置为10天
public static String generateToken(String subject) {
Date now = new Date();
Date expiration = new Date(now.getTime() + EXPIRATION_TIME);
return Jwts.builder()
.setSubject(subject)
.setIssuedAt(now)
.setExpiration(expiration)
.signWith(SignatureAlgorithm.HS512, SECRET_KEY)
.compact();
}
public static String parseToken(String token) {
Claims claims = Jwts.parser()
.setSigningKey(SECRET_KEY)
.parseClaimsJws(token)
.getBody();
return claims.getSubject();
}
}
```
使用示例:
```java
public class Main {
public static void main(String[] args) {
String token = JwtUtils.generateToken("user123");
System.out.println("Token: " + token);
String subject = JwtUtils.parseToken(token);
System.out.println("Subject: " + subject);
}
}
```
请注意,这只是一个简单的示例,真实的JWT实现可能需要更多的配置和处理。此外,确保替换`SECRET_KEY`为您自己的密钥,并根据您的需求调整过期时间。
希望这个例子能对您有所帮助!如果您有任何其他问题,请随时提问。
阅读全文