openssl_private_decrypt

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

openssl_private_decryptРасшифровывает данные закрытым ключом

Описание

openssl_private_decrypt(
    string $data,
    #[\SensitiveParameter] string &$decrypted_data,
    #[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key,
    int $padding = OPENSSL_PKCS1_PADDING,
    ?string $digest_algo = null
): bool

Функция openssl_private_decrypt() расшифровывает данные data, которые раньше зашифровали функцией openssl_public_encrypt(), и сохраняет результат в параметре decrypted_data.

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

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

data

decrypted_data

private_key

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

padding

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

digest_algo
Алгоритм хеширования для схемы дополнения OAEP (англ. Optimal Asymmetric Encryption Padding — оптимальное асимметричное шифрование с дополнением). При передаче значения null функция выбирает алгоритм по умолчанию.

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

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

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

Версия Описание
8.5.0 Добавили необязательный параметр digest_algo.
8.0.0 Параметрprivate_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.

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