Base64_encode diferente entre Java y PHP

Aquí está mi problema:

Tengo una función JAVA para generar una cadena encriptada. Tengo que hacer lo mismo en PHP.

Mi función de 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;
}

Mi función de PHP:

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

El valor de retorno de las dos funciones no es el mismo. Lo que noté es que antes de la codificación a base 64, ambas funciones tienen el mismo resultado. Entonces, para mí el problema no está en la generación de la clave, sino en la codificación.

¿Alguien capaz de ayudar por favor?

Respuestas a la pregunta(1)

Su respuesta a la pregunta