Вот моя проблема:
У меня есть функция 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 обе функции имеют одинаковый результат. Итак, для меня проблема не в генерации ключа, а в кодировке.
Кто-нибудь может помочь, пожалуйста?