@Override
    public String generateSign(final String signKey, final SignParameters signParameters, final String requestBody) {
        return VERSION_SIGN.get(signParameters.getVersion())
                .generateSign(signKey, signParameters, requestBody);
    }
@Test
    void testGenerateSign() {
        SignParameters signParameters = new SignParameters("2.0.0", "108C27175A2C43C1BC29B1E483D57E3D",
                "1673093719090", "C25A751BBCE25392DF61B352A2440FF9",
                URI.create("http://localhost:9195/http/test/path/456?name=Lee&data=3"));
        String token = JsonUtils.toJson(ImmutableMap.of("alg", "MD5",
                "appKey", "108C27175A2C43C1BC29B1E483D57E3D",
                "timestamp", "1673093719090"));
        signParameters.setParameters(Base64.getEncoder().encodeToString(token.getBytes(StandardCharsets.UTF_8)));

        String actual = signProvider.generateSign("061521A73DD94A3FA873C25D050685BB", signParameters);
        assertThat(actual, is("4892285C655127FE0B05BCAA4A47B093"));
    }