微信后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.7 KiB

package com.ynxbd.common.helper;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTCreator;
import com.auth0.jwt.algorithms.Algorithm;
import com.ynxbd.common.helper.common.JwtHelper;
import lombok.extern.slf4j.Slf4j;
import java.util.Calendar;
@Slf4j
public class TestHelper {
// public static void main(String[] args) {
// String treatNum = "1579733" + "huiyou69";
// String key = DigestUtils.md5Hex(treatNum).toUpperCase();
// System.out.println(key);
// String substring = key.substring(3, 12);
// System.out.println(substring);
// }
private static final String TOKEN_KEY = "OPEN_ID";
/**
* 生成token
*
* @param sign 密钥
* @return token
*/
public static String createOpenIdToken(String sign, String openId) {
try {
JWTCreator.Builder builder = JWT.create();
builder.withClaim(TOKEN_KEY, openId);
// 有效时间
Calendar instance = Calendar.getInstance();
instance.add(Calendar.HOUR, 1);
builder.withExpiresAt(instance.getTime());
return builder.sign(Algorithm.HMAC256(sign));
} catch (Exception e) {
log.error("生成token异常:[ {} ]", e.getMessage());
return null;
}
}
public static void main(String[] args) {
String token = createOpenIdToken("token", "openid-123");
System.out.println(token);
String openid = getUserOpenId(token);
System.out.println(openid);
}
/**
* 获取userId
*
* @return userId
*/
public static String getUserOpenId(String token) {
return JwtHelper.getTokenVal(token, TOKEN_KEY, String.class);
}
}