package com.dji.sample.droneairport.utils; import com.dji.sample.territory.utils.jym.SM2SignVO; import com.dji.sample.territory.utils.jym.SM2SignVerUtils; import com.dji.sample.territory.utils.jym.Util; import lombok.SneakyThrows; import java.nio.charset.StandardCharsets; import java.util.Base64; public class AuthUtil { @SneakyThrows public static String getToken() { long timestamp = System.currentTimeMillis(); String certificateB = "044D6061FC08A19D3F32CEAA8CF6679B40500008FD741FC26DE7E50AEBF3A9115D47274437730EADEDAEF0CCC4853C5F0B35B30C6AEA83A5F6FBCA4ABEAC9E3B98"; // 示例证书信息 String C = certificateB + timestamp; byte[] D = C.getBytes(StandardCharsets.UTF_8); SM2SignVO sm2signv0 = SM2SignVerUtils.Sign2SM2(Util.hexStringToBytes("23E57DA1E4AB865CCBC325B668762207DEF74345B782237808AE0BABDF26734D"), D); byte[] E = sm2signv0.getSm2_signForHard().getBytes(StandardCharsets.UTF_8); String F = Base64.getEncoder().encodeToString(E); return certificateB + "." + timestamp + "." + F; } public static void main(String[] args) { System.out.println("token:" + getToken()); } }