これが私の問題です:
暗号化された文字列を生成する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);
}
2つの関数の戻り値は同じではありません。私が気付いたのは、base 64にエンコードする前は、両方の関数の結果が同じであるということです。したがって、私にとっての問題は、キーの生成ではなく、エンコーディングにあります。
助けてくれる人はいますか?