koreets2011

Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день! Форумчане подскажите пожалуйста, в верном направлении ли я двигаюсь? Изучаю Протокол EACQ любезно предоставленный Тинькофф. Вот требования для шифрования: Код: Объект CardData собирается в виде списка «ключ=значение» (разделитель «;»), зашифровывается открытым ключом (X509 RSA 2048), получившееся бинарное значение кодируется в Base64. | Звучит кошмарно, что я сделал: Написал (честно нашел в Интернете) пример шифрования, и добавил в класс функцию Код: private function _encrypt($data) { $pub = <<<SOMEDATA777 -----BEGIN PUBLIC KEY----- ТУТ НАХОДИТСЯ ОТКРЫТЫЙ КЛЮЧ -----END PUBLIC KEY----- SOMEDATA777; $pk = openssl_get_publickey($pub); openssl_public_encrypt($data, $encrypted, $pk); return base64_decode(chunk_split(base64_encode($encrypted))); } | Этот код работает, по крайне мере выдает набор кракозябликов. Соответствует ли это вышеуказанному требованию? Вопрос: Добавлено: Либо что то мне подсказывает, что нужно код изменить на Код: private function _encrypt($data) { $pub = <<<SOMEDATA777 -----BEGIN PUBLIC KEY----- ТУТ НАХОДИТСЯ ОТКРЫТЫЙ КЛЮЧ -----END PUBLIC KEY----- SOMEDATA777; $pk = openssl_get_publickey($pub); openssl_public_encrypt($data, $encrypted, $pk); return base64_encode($encrypted); } |
|