OpenSSL
PHP Manual

openssl_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_openОткрыть запечатанные данные

Описание

bool openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id [, string $method = "RC4" [, string &$iv ]] )

openssl_open() открывает (дешифрует) sealed_data используя секретный ключ связанный с идентификатором priv_key_id и ключ обертки env_key, и заполняет open_data расшифрованными данными. Ключ обертки создается при запечатывании данных и может использоваться только с одним единственным секретным ключем. Более подробно можно прочитать на странице оисания функции openssl_seal().

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

sealed_data

open_data

При удачном завершении, переменная переданная в этом параметр, будет содержать открытые данные.

env_key

priv_key_id

method

Метод шифрования.

iv

Инициализирующий вектор.

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

Версия Описание
7.0.0 Добавлен параметр iv.
5.3.0 Добавлен параметр method.

Примеры

Пример #1 Пример использования openssl_open()

<?php
// Предположим, что $sealed и $env_key содержат закрытые данные и
// ключ обертки соответственно

// Извлекаем секретный ключ из файла
$fp fopen("/src/openssl-0.9.6/demos/sign/key.pem""r");
$priv_key fread($fp8192);
fclose($fp);
$pkeyid openssl_get_privatekey($priv_key);

// расшмфровываем данные и складываем их в $open
if (openssl_open($sealed$open$env_key$pkeyid)) {
    echo 
"Расшифрованные данные: "$open;
} else {
    echo 
"Что-то пошло не так :(";
}

// Высвобождаем ресурс приватнного ключа
openssl_free_key($pkeyid);
?>

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


OpenSSL
PHP Manual