token使用例子 1.客户端登录服务端后,服务端生成一个随机码token,存储到redis中,设置30分钟过期,然后将token返回给客户端 2.客户端再次登录服务器并发送token,服务端根据到redis中查找到该token相关信息,返回登录成功 3.token明文传输很危险,所以要用https放到post body中传输。 JWT(json web token)使用例子 1.客户端登录服务端后,服务端生成一个token返回给客户端,token里面包含了用户信息,服务端不保存token,客户端保存 2.客户端再次登录服务器并发送token,服务端验证token,验证成功则返回登录成功 public class TokenUtil { //设置token超时时间 private static final long EXPIRE_TIME = 30 * 60 * 1000; //设置token加密私钥 private static final String TOKEN_SECRET = "20200416223600jzf|^_^|"; //生成token public static String sign(String userName, String passWord){ return JWT.create() .setHeaderParam("typ", "JWT") //设置header头部信息,表明使用jwt类型 .setHeaderParam("alg", "HS256") //设置header头部信息,表明使用HMAC SHA256加密算法 .withClaim("userName", userName) //设置载荷payload信息,存储userName .withClaim("passWord", passWord) //设置载荷payload信息,存储passWord .withExpiresAt(new Date(System.currentTimeMillis() + EXPIRE_TIME))//设置过期时间 .sign(Algorithm.HMAC256(TOKEN_SECRET));//使用HMAC SHA256加密算法 } //验证token public static boolean verify(String token){ try { JWTVerifier verifier = JWT.require(Algorithm.HMAC256(TOKEN_SECRET)).build(); DecodedJWT jwt = verifier.verify(token); System.out.println("验证通过!"); System.out.println("userName:" + jwt.getClaim("userName").asString()); System.out.println("过期时间:" + jwt.getExpiresAt()); return true; } catch (Exception e){ return false; } } }
token与jwt使用例子
最新推荐文章于 2024-04-07 12:07:53 发布