Я нашел решение для кода перевода.Было две основные проблемы.При запросе HMACSHA1 я говорю не об алгоритме SHA1, а о HmacSHA1 .И есть разница между кодировкой от Java и C #.Я использовал правильный ключ и правильный алгоритм, но кодировка была другой.
SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA1");
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(signingKey);
// The big problem is difference between C# and Java encoding
byte[] rawHmac = mac.doFinal(data.getBytes("UTF-16LE"));
result = new String(Base64.encode(rawHmac));