博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HMAC256 Token
阅读量:4320 次
发布时间:2019-06-06

本文共 1303 字,大约阅读时间需要 4 分钟。

依赖包:

com.auth0
java-jwt
3.3.0

   

使用

    Algorithm.HMAC256(uerPassword)  使用HMAC256加密算法,生成签名。

    具体如下:

public static String sign(String username, Integer role, Integer userId, String secret, long expireTimeInMilliSeconds) {    try {//设置过期时间:获取当前时间+过期时间(毫秒)      Date date = new Date(System.currentTimeMillis() + expireTimeInMilliSeconds);//设置签名的加密算法:HMAC256      Algorithm algorithm = Algorithm.HMAC256(secret);      // 附带username信息      return JWT.create().withClaim("username", username).withClaim("role", role).withClaim("uerId", userId).withExpiresAt(date).sign(algorithm);    } catch (UnsupportedEncodingException e) {      return null;    }  } 以上是生成token 的方法

 自然生成token,token是合法用户的有效令牌,那么该怎么解密该令牌呢?以下是方法

主要解密方法:

DecodedJWT jwt = JWT.decode(token); 一下是完整的代码:
public static Integer getUserId(String token) {    try {      DecodedJWT jwt = JWT.decode(token);      return jwt.getClaim("userId").asInt();    } catch (JWTDecodeException e) {      return null;    }  } 注意,此
jwt.getClaim("userId").asInt(); userId就是在前面生成token的方法中的 userId,注意字段的对应
JWT.create().withClaim("username", username).withClaim("role", role).withClaim("uerId", userId).withExpiresAt(date).sign(algorithm);

  

 

转载于:https://www.cnblogs.com/qq1141100952com/p/10681475.html

你可能感兴趣的文章
linux系统目录结构
查看>>
git
查看>>
btn按钮之间事件相互调用
查看>>
Entity Framework 4.3.1 级联删除
查看>>
codevs 1163:访问艺术馆
查看>>
冲刺Noip2017模拟赛3 解题报告——五十岚芒果酱
查看>>
并查集
查看>>
sessionStorage
查看>>
代码示例_进程
查看>>
Java中关键词之this,super的使用
查看>>
学习进度
查看>>
“此人不存在”
查看>>
github.com加速节点
查看>>
解密zend-PHP凤凰源码程序
查看>>
python3 序列分片记录
查看>>
Atitit.git的存储结构and 追踪
查看>>
atitit 读书与获取知识资料的attilax的总结.docx
查看>>
B站 React教程笔记day2(3)React-Redux
查看>>
找了一个api管理工具
查看>>
Part 2 - Fundamentals(4-10)
查看>>