private function getMac($messageVersion, $senderIdentityKey, $receiverIdentityKey, $macKey, $serialized) { $mac = hash_init("sha256", HASH_HMAC, $macKey); if ($messageVersion >= 3) { hash_update($mac, $senderIdentityKey->getPublicKey()->serialize()); hash_update($mac, $receiverIdentityKey->getPublicKey()->serialize()); } hash_update($mac, $serialized); $result = hash_final($mac, true); return ByteUtil::trim($result, self::MAC_LENGTH); }