У меня есть проблема, которая сводит меня с ума.
Я создал пару ключей, выполняющих:
$res = openssl_pkey_new(array('private_key_bits' => 2048));
/* Extract the private key from $res to $privKey */
openssl_pkey_export($res, $privKey);
/* Extract the public key from $res to $pubKey */
$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey["key"];
Используя этот код, у меня есть $pubKey
и $privKey
.
Я могу правильно зашифровать/расшифровать, но у меня большие сомнения относительно РАСШИФРОВКИ .
На данный момент шифрую данные делаю:
openssl_public_encrypt($data, $encrypted, $pubKey);
Он правильно шифрует мои данные, но, прочитав PHP Doc, я обнаружил:
http://php.net/manual/en/function.openssl-public-decrypt.php
Могу ли я расшифровать данные, используя ПУБЛИЧНЫЙ КЛЮЧ ?? Почему ??
Я знаю, что открытый ключ полезен для ШИФРОВАНИЯ данных, но только владелец закрытого ключа может РАСШИФРОВАТЬ данные.
Если я могу расшифровать данные с помощью открытого ключа, пусть пользователи, знающие открытый ключ, легко расшифруют сообщения.
Может ли кто-нибудь объяснить это мне? Я ищу способ использовать два ключа, первый для ШИФРОВАНИЯ, а второй (только второй )для РАСШИФРОВКИ.
Спасибо