Base64_encode отличается между Java и PHP

Вот моя проблема:

У меня есть функция JAVA для генерации зашифрованной строки. Я должен сделать то же самое в PHP.

Моя функция Java:

String generateSignature () {
    byte[] Sequence = ("hello").getBytes("UTF-8");
    Mac HMAC = Mac.getInstance("HMACSHA256");
    HMAC.init("SECRET_KEY");
    byte[] Hash = HMAC.doFinal(Sequence);
    String Signature = new String(Base64.encodeBase64(Hash));
    return Signature;
}

Моя функция PHP:

function generateSignature() {
    $sequence = "hello";
    $encrypted = hash_hmac('sha256', $sequence, "SECRET_KEY");
    return base64_encode($encrypted);
}

Возвращаемое значение двух функций не совпадает. Что я заметил, так это то, что перед кодированием на базе 64 обе функции имеют одинаковый результат. Так что для меня проблема не в генерации ключа, а в кодировке.

Кто-нибудь может помочь, пожалуйста?

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

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