Учебник РНР
НазадВперёд

openssl_seal

(PHP 4 >= 4.0.4)

openssl_seal - пломбирует (шифрует) данные.

Описание

int openssl_seal (string data, string sealed_data, array env_keys, array pub_key_ids)

Предупреждение!

Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

Возвращает длину пломбированных данных при успехе, FALSE при ошибке. При успехе возвращаются пломбированные данные в параметре sealed_data, и envelope-ключи - в env_keys.

openssl_seal() пломбирует (шифрует) data с помощью RC4 случайно генерируемым секретным ключом. Этот ключ шифруется с каждым public ключом, ассоциированным с идентификатором в pub_key_ids, и каждый шифрованный ключ возвращается в env_keys. Это значит, что можно пломбировать данные для нескольких принимающих (в предположении, что пломбировщик имеет их public ключи). Каждый принимающий обязан получить пломбированные данные и envelope ключ, который был зашифрован с public ключом принимающего.

Пример 1. openssl_seal()
// принимаем, что $data содержит пломбируемые данные

// извлекаем public ключи для наших получателей и читаем их
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// повторяем для второго получателя
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);

// пломбируем сообщение, только владельцы $pk1 и $pk2 могут дешифровать $sealed ключами
// $ekeys[0] и $ekeys[1], соответственно.
openssl_seal($data, $sealed, $ekeys, array($pk1,$pk2));

// освобождает ключи из памяти
openssl_free_key($pk1);
openssl_free_key($pk2);

См. также openssl_open().


Назад Оглавление Вперёд
openssl_public_encrypt Вверхopenssl_sign
Hosted by uCoz
8528 107189366 о предопределённых функций:

В следующих разделах рассматриваются эти функции. См. также книгу Клиентский JavaScript. Справочник.

Функция eval


Функция eval вычисляет строку кода JavaScript без ссылки на определённый объект. Синтаксис eval таков:

eval(expr)

где expr это вычисляемая строка.

Если строка представляет выражение, eval вычисляет это выражение. Если аргумент представляет собой один или несколько операторов JavaScript, eval выполняет эти операторы. Не вызывайте eval для вычисления арифметических выражений; JavaScript вычисляет арифметические выражения автоматически.

Функция isFinite


Функция isFinite вычисляет аргумент, чтобы определить, является ли он конечным числом. Синтаксис isFinite:

isFinite(number)

где number это вычисляемое число.

Если аргумент имеет значения NaN, положительная или отрицательная бесконечность, то этот метод возвращает false, иначе возвращает true.

Следующий код проверяет клиентский ввод и определяет, является ли он конечным числом.

if(isFinite(ClientInput) == true)
{
   /* некоторые специальные шаги */
}

Функция isNaN


Функция isNaN вычисляет аргумент, чтобы определить, является ли он "NaN" (не-числом). Синтаксис isNaN:

isNaN(testValue)

где testValue это значение, которое Вы хотите обсчитать.

Функции parseFloat и parseInt возвращают "NaN", если они вычисляют значение, которое не является числом. isNaN возвращает true, если передано "NaN", и false - в ином случае.

Следующий код вычисляет floatValue и определяет, является ли оно числом, а затем вызывает соответствующую процедуру:

floatValue=parseFloat(toFloat)
if (isNaN(floatValue)) {
   notFloat()
} else {
   isFloat()
}

Функции parseInt и parseFloat


Две "parse"-функции, parseInt и parseFloat, возвращают числовое значение при получении строкового аргумента.

Синтаксис parseFloat таков:

parseFloat(str)

где parseFloat разбирает свой аргумент, строку str, и пытается возвратить число с плавающей точкой. Если она обнаруживает символ, отличный от знака (+ или -), числа (0-9), десятичной точки или экспоненты, она возвращает значение, разобранное до этого места, и игнорирует этот символ и все последующие символы. Если первый символ не может быть конвертирован в число, функция возвращает значение "NaN" (не-число).

Синтаксис parseInt таков:

parseInt(str [, radix])

parseInt разбирает первый аргумент, строку str, и пытается возвратить целое число со специфицированной radix (базой), обозначаемой вторым не обязательным аргументом radix. Например, radix 10 указывает на конвертацию десятеричного числа, 8 -восьмеричного, 16 - шестнадцатеричного, и так далее. При radix более 10 буквы латинского алфавита используются для обозначения цифр больше 9. Например, для 16-ричных чисел (база 16), используются английские буквы от A до F.

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

Функции Number и String


Функции Number и String позволяют конвертировать объект в число или строку. Синтаксис таков:

Number(objRef)
String(objRef)

где objRef это ссылка на объект.

В следующем примере Date-объект конвертируется в читабельную строку.

D = new Date (430054663215)
// возвращает
// "Thu Aug 18 04:37:43 GMT-0700 (Pacific Daylight Time) 1983"
x = String(D)

Функции escape и unescape


Функции escape и unescape позволяют кодировать и декодировать строки. Функция escape возвращает 16-ричное кодовое значение своего аргумента - символа их набора ISO Latin. Функция unescape возвращает ASCII-строку для специфицированного 16-ричного кодового значения.

Синтаксис этих функций таков:

escape(string)
unescape(string)

Эти функции используются в основном в серверном JavaScript для кодирования и декодирования пар имя/значение в URL.

Оглавление | Назад | Вперёд | Индекс

Дата последнего обновления: 25 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation

ть сайт бесплатно">Hosted by uCoz