public static String getRamSign(String encryptText, String encryptKey) {
        try {
            String[] encryptData = encryptText.split(",");
            byte[] data = getProductSigningKey(encryptKey,
                    LocalDateTime.ofEpochSecond(Long.parseLong(encryptData[2]) / 1000, 0, ZoneOffset.UTC).format(DTF),
                    DEFAULT_REGION, DEFAULT_PRODCUT_CODE, SHA256_ENCRYPT);
            // Construct a key according to the given byte array, and the second parameter specifies the name of a key algorithm
            SecretKey secretKey = new SecretKeySpec(data, SHA256_ENCRYPT);
            // Generate a Mac object specifying Mac algorithm
            Mac mac = Mac.getInstance(SHA256_ENCRYPT);
            // Initialize the Mac object with the given key
            mac.init(secretKey);
            byte[] text = encryptText.getBytes(StandardCharsets.UTF_8);
            byte[] textFinal = mac.doFinal(text);
            // Complete Mac operation, base64 encoding, convert byte array to string
            return ConfigTools.byte2Base64(textFinal);
        } catch (Exception e) {
            throw new RuntimeException("get ram sign with hmacSHA1Encrypt fail", e);
        }
    }
@Test
    public void testGetRamSign() {
        String encryptText = "testGroup,127.0.0.1,1702564471650";
        String encryptKey = "exampleEncryptKey";
        String expectedSign = "6g9nMk6BRLFxl7bf5ZfWaEZvGdho3JBmwvx5rqgSUCE=";
        String actualSign = RamSignAdapter.getRamSign(encryptText, encryptKey);
        // Assert the generated sign matches the expected sign
        Assertions.assertEquals(expectedSign, actualSign);
    }