import java.util.Calendar; import java.util.Date; import java.nio.charset.Charset; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.TimeZone; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public class GenToken { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); public static final String HMAC_SHA256 = "HmacSHA256"; public static final String UTF_8 = "UTF-8"; public static String bytesToHex(byte[] paramArrayOfByte) { StringBuilder localStringBuilder = new StringBuilder(); int j = paramArrayOfByte.length; int i = 0; while (i < j) { localStringBuilder.append(String.format("%02x", new Object[] { Byte.valueOf(paramArrayOfByte[i]) }).toUpperCase()); i += 1; } return localStringBuilder.toString(); } public static void main(String[] args) { System.out.print(getToken( ) ); } public static String getToken() { Object localObject = new SimpleDateFormat("yyyyMMddHH"); ((DateFormat)localObject).setTimeZone(TimeZone.getTimeZone("UTC")); String text = ((DateFormat)localObject).format(Calendar.getInstance().getTime()); try{ localObject = Mac.getInstance("HmacSHA256"); ((Mac)localObject).init(new SecretKeySpec("ZhQCqoZp".getBytes(DEFAULT_CHARSET), "HmacSHA256")); String text2 = bytesToHex(((Mac)localObject).doFinal(text.getBytes(DEFAULT_CHARSET))); return text2; }catch (InvalidKeyException error) { throw new Error("Invalid key error"); } catch (NoSuchAlgorithmException error) { throw new Error("Cannot initialize token"); } } }