Подпись HMAC SHA1 на Java

Я пытаюсь взаимодействовать с веб-службой TransUnion, и мне нужно предоставить подпись HMAC-SHA1 для доступа к ней.

Этот пример находится в документации TransUnion:
ВводSampleIntegrationOwner2008‐11‐18T19:14:40.293Z с безопасностью ключxBy/2CLudnBJOxOtDhDRnsDYq9HTuDVr2uCs3FMzoxXEA/Od9tOuwSC70+mIfpjeG68ZGm/PrxFf/s/CzwxF4Q== создает вывод/UhwvT/kY9HxiXaOjpIc/BarBkc=.

Учитывая эти данные и ключ, я не могу получить этот же результат в Java. Я пробовал несколько онлайн-калькуляторов, и ни один из них не возвращает этот результат. Является ли пример в их документации неправильным, или я просто неправильно обрабатываю эти строки?

Вот код, с которым я сейчас работаю:

public static String calcShaHash (String data, String key) {
    String HMAC_SHA1_ALGORITHM = "HmacSHA1";       
    String result = null;

    try {         
        Key signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);
        Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
        mac.init(signingKey);
        byte[] rawHmac = mac.doFinal(data.getBytes());
        result = Base64.encodeBase64String(rawHmac);    
    }
    catch (Exception e) {
        e.printStackTrace(); 
    }       

    return result;
}

Вот мой код модульного теста:

@Test
public void testCalcShaHash() {
    String data = "SampleIntegrationOwner2008-11-18T19:14:40.293Z";
    String key = "xBy/2CLudnBJOxOtDhDRnsDYq9HTuDVr2uCs3FMzoxXEA/Od9tOuwSC70+mIfpjeG68ZGm/PrxFf/s/CzwxF4Q==";
    String result = Utils.calcShaHash(data, key);
    assertEquals(result, "/UhwvT/kY9HxiXaOjpIc/BarBkc=");

}

Ответы на вопрос(2)

Ваш ответ на вопрос