parent
06f3fc8507
commit
6eebe5f946
19 changed files with 187 additions and 79 deletions
@ -0,0 +1,108 @@ |
|||||||
|
//package com.yipin.liuwanr;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//import com.alibaba.fastjson.JSONObject;
|
||||||
|
//import com.sun.org.apache.xml.internal.security.algorithms.SignatureAlgorithm;
|
||||||
|
//import io.jsonwebtoken.Claims;
|
||||||
|
//import io.jsonwebtoken.ExpiredJwtException;
|
||||||
|
//import io.jsonwebtoken.JwtBuilder;
|
||||||
|
//import io.jsonwebtoken.Jwts;
|
||||||
|
//import io.jsonwebtoken.SignatureAlgorithm;
|
||||||
|
//import org.apache.commons.codec.binary.Base64;
|
||||||
|
//
|
||||||
|
//import javax.crypto.SecretKey;
|
||||||
|
//import javax.crypto.spec.SecretKeySpec;
|
||||||
|
//import java.security.SignatureException;
|
||||||
|
//import java.util.Date;
|
||||||
|
//
|
||||||
|
//public class JwtUtils {
|
||||||
|
// /**
|
||||||
|
// * 签发JWT
|
||||||
|
// *
|
||||||
|
// * @param id
|
||||||
|
// * @param subject 可以是JSON数据 尽可能少
|
||||||
|
// * @param ttlMillis
|
||||||
|
// * @return String
|
||||||
|
// *
|
||||||
|
// */
|
||||||
|
// public static String createJWT(String id, String subject, long ttlMillis) {
|
||||||
|
// ttlMillis = ttlMillis * 1000;
|
||||||
|
// SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
|
||||||
|
// long nowMillis = System.currentTimeMillis();
|
||||||
|
// Date now = new Date(nowMillis);
|
||||||
|
// SecretKey secretKey = generalKey();
|
||||||
|
// JwtBuilder builder = Jwts.builder().setId(String.valueOf(id)).setSubject(subject) // 主题
|
||||||
|
// .setIssuer("user") // 签发者
|
||||||
|
// .setIssuedAt(now) // 签发时间
|
||||||
|
// .signWith(signatureAlgorithm, secretKey); // 签名算法以及密匙
|
||||||
|
// if (ttlMillis >= 0) {
|
||||||
|
// long expMillis = nowMillis + ttlMillis;
|
||||||
|
// Date expDate = new Date(expMillis);
|
||||||
|
// builder.setExpiration(expDate); // 过期时间
|
||||||
|
// }
|
||||||
|
// return builder.compact();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void main(String[] args) {
|
||||||
|
// //System.out.printf(createJWT("1","111", 10000000));
|
||||||
|
// boolean isTrue = validateJWT("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxIiwic3ViIjoiMTExIiwiaXNzIjoidXNlciIsImlhdCI6MTYwMTM0MzYyNywiZXhwIjoxNjAxMzUzNjI3fQ.q5Ssg2LM1OzzgvVWqLhgP_Hko0-pfeNO5bvpUE5KQ-s");
|
||||||
|
// System.out.println(isTrue);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 验证JWT
|
||||||
|
// *
|
||||||
|
// * @param jwtStr
|
||||||
|
// * @return
|
||||||
|
// */
|
||||||
|
// public static Boolean validateJWT(String jwtStr) {
|
||||||
|
// //boolean isValidate = false;
|
||||||
|
// Claims claims = null;
|
||||||
|
// try {
|
||||||
|
// claims = parseJWT(jwtStr);
|
||||||
|
// return true;
|
||||||
|
// } catch (ExpiredJwtException e) {
|
||||||
|
// return false;
|
||||||
|
// } catch (SignatureException e) {
|
||||||
|
// return false;
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// //return checkResult;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static SecretKey generalKey() {
|
||||||
|
// byte[] encodedKey = Base64.decodeBase64("DQJWT");
|
||||||
|
// SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");
|
||||||
|
// return key;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// *
|
||||||
|
// * 解析JWT字符串
|
||||||
|
// *
|
||||||
|
// * @param jwt
|
||||||
|
// * @return
|
||||||
|
// * @throws Exception
|
||||||
|
// */
|
||||||
|
// public static Claims parseJWT(String jwt) throws Exception {
|
||||||
|
// SecretKey secretKey = generalKey();
|
||||||
|
// return Jwts.parser().setSigningKey(secretKey).parseClaimsJws(jwt).getBody();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void putTokenToRedis(Long userId, String token, long times) {
|
||||||
|
// RedisUtil.setEx("dq:token:"+token, String.valueOf(userId), times);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static <UserEntity> void putUserEntityToRedis(Long userId, UserEntity userEntity, long times) {
|
||||||
|
// RedisUtil.setEx("dq:userId:"+userId, JSONObject.toJSONString(userEntity), times);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void removeUserEntityByUserId(Long userId) {
|
||||||
|
// RedisUtil.del("dq:userId:"+userId);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void removeTokenByToken(String token) {
|
||||||
|
// RedisUtil.del("dq:token:"+token);
|
||||||
|
// }
|
||||||
|
//}
|
Loading…
Reference in new issue