微信后端代码
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.

67 lines
2.2 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 com.ynxbd.wx.utils.DesEncryptHelper;
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);
// }
public static void main(String[] args) {
String token = "99CB4E005E234DDA73B67CB9F369425933951D90DA1778B1DDA55F3E0E6E24DCD40BBA9E60FDBB1D607848053494BFBCF9E39900626C6B3208CA72FF386E13401F65C2F874614CA7C085D6DC51C258F4800EA613E482FB3F87006ABD62C2730FFC16B1AE0E44762D76775510A3EEB8785B871B9759F1A7D22E860BE284C18F095F5F6D38C31D9965B4C0434D3BBBBE39";
String deToken = DesEncryptHelper.deCode(token);
System.out.println(deToken);
}
/**
* 获取userId
*
* @return userId
*/
public static String getUserOpenId(String token) {
return JwtHelper.getTokenVal(token, TOKEN_KEY, String.class);
}
}