private static byte[] getDateSigningKey(String secret, String date, String signMethod) {
        try {
            Mac mac = Mac.getInstance(signMethod);
            mac.init(new SecretKeySpec((PREFIX + secret).getBytes(StandardCharsets.UTF_8), signMethod));
            return mac.doFinal(date.getBytes(StandardCharsets.UTF_8));
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("unsupport Algorithm:" + signMethod);
        } catch (InvalidKeyException e) {
            throw new RuntimeException("InvalidKey");
        }
    }
@Test
    public void testGetDateSigningKey() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        String secret = "mySecret";
        String date = "20220101";
        String signMethod = "HmacSHA256";
        byte[] expectArray = new byte[]{-96, 108, 42, 75, -59, 121, -63, 108, -3, -126, 67, 3, 118, 2, 39, 59, -68, -37, -98, 122, -25, -120, 77, 56, -70, 24, -115, 33, 125, -128, -10, -26};

        RamSignAdapter adapter = new RamSignAdapter();
        // Use reflection to access the private method
        Method getDateSigningKeyMethod = RamSignAdapter.class.getDeclaredMethod("getDateSigningKey", String.class, String.class, String.class);
        getDateSigningKeyMethod.setAccessible(true);
        byte[] signingKey = (byte[]) getDateSigningKeyMethod.invoke(adapter, secret, date, signMethod);
        Assertions.assertEquals(32, signingKey.length);
        Assertions.assertArrayEquals(expectArray, signingKey);
    }