ScheduleUtil.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.xjrsoft.xjrsoftboot;
  2. import cn.dev33.satoken.secure.SaSecureUtil;
  3. import com.xjrsoft.config.JianyuekbConfig;
  4. import javax.crypto.Mac;
  5. import javax.crypto.spec.SecretKeySpec;
  6. /**
  7. * @author dzx
  8. * @date 2024/1/9
  9. */
  10. public class ScheduleUtil {
  11. public static final String ALGORITHM = "HmacSHA256";
  12. public static final String apiUrl = "https://live.jianyuekb.com/api/v1/ScheduleFlowV2/OpenApi/";
  13. private static JianyuekbConfig jianyuekbConfig;
  14. public ScheduleUtil(JianyuekbConfig jianyuekbConfig){
  15. this.jianyuekbConfig = jianyuekbConfig;
  16. }
  17. public String calculateHMac(String key, String data) throws Exception {
  18. Mac sha256_HMAC = Mac.getInstance(ALGORITHM);
  19. SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), ALGORITHM);
  20. sha256_HMAC.init(secret_key);
  21. return byteArrayToHex(sha256_HMAC.doFinal(data.getBytes("UTF-8")));
  22. }
  23. public String byteArrayToHex(byte[] a) {
  24. StringBuilder sb = new StringBuilder(a.length * 2);
  25. for (byte b : a)
  26. sb.append(String.format("%02x", b));
  27. return sb.toString();
  28. }
  29. public String createSign(Long timestamp){
  30. return SaSecureUtil.md5(jianyuekbConfig.getPassword() + timestamp);
  31. }
  32. public static String doPost(){
  33. return null;
  34. }
  35. }