热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用JWT进行Token简单加密的方法

本文介绍如何利用io.jsonwebtoken库(版本0.9.1)来实现JWTToken的生成与验证,包括依赖配置及代码示例。

为了在Java项目中实现安全的身份验证,JWT (JSON Web Tokens) 是一种广泛采用的标准。以下是如何使用 io.jsonwebtoken 库生成和验证JWT Token的具体步骤。


首先,在项目的pom.xml文件中添加如下依赖:



io.jsonwebtoken
jjwt
0.9.1

接下来是生成Token的代码示例:


Map claims = new HashMap();
claims.put("id", user.getId());

// 创建JWT Token
String jwtToken = Jwts.builder()
.setClaims(claims) // 设置payload,用于存储用户信息等非敏感数据
.signWith(SignatureAlgorithm.HS256, secret) // 使用HS256算法与secret密钥签名
.setExpiration(new Date(System.currentTimeMillis() + 12 * 60 * 60 * 1000)) // 设置过期时间为12小时后
.compact();

解析并验证Token的代码示例如下:


try {
if (StringUtils.isEmpty(token)) {
return null;
}
// 解析Token中的信息
Map body = Jwts.parser()
.setSigningKey(secret)
.parseClaimsJws(token)
.getBody();

// 构建User对象
User user = User.builder()
.id(Long.valueOf(body.get("id").toString()))
.build();
} catch (ExpiredJwtException e) {
log.info("Token已过期: " + token, e);
} catch (Exception e) {
log.error("非法Token: " + token, e);
}


推荐阅读
author-avatar
pingyuki
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有