openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_encryptШифрует данные открытым ключом

Описание

openssl_public_encrypt(
    string $data,
    string &$encrypted_data,
    OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key,
    int $padding = OPENSSL_PKCS1_PADDING
): bool

Функция openssl_public_encrypt() шифрует данные data открытым ключом public_key и сохраняет в параметре encrypted_data. Затем данные расшифровывают функцией openssl_private_decrypt().

Функцией пользуются, например, для отправки сообщений, которые сможет прочитать только владелец закрытого ключа и никто больше. Функцией также можно зашифровать информацию в базе данных.

Список параметров

data

encrypted_data

Параметр будет содержать результат шифрования.

public_key

В параметр public_key передают открытый ключ, который соответствует закрытому ключу для расшифровки данных.

padding

Параметр padding принимает константу из следующего списка: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр public_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.

Смотрите также