Новые книги

В книге описано тестирование программных продуктов в Google: как устроены процессы, как организованы команды, какие техники используются, кто ответственен за качество. Принципы, на которых построено тестирование в Google, применимы в проектах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредственно тестированием. Книга рассчитана на профессионалов из индустрии разработки программного обеспечения: специалистов по тестированию, программистов, менеджеров.
Графические интерфейсы UNIX имеют давнюю историю. Первые программные разработки в этом направлении появились более 20 лет назад. Стандартом стала распределенная система X Window, которая позволяет рисовать на экране дисплея графические изображения, поддерживает концепцию окон и унифицирует работу с различными устройствами ввода-вывода на основе библиотеки Xlib. Для того чтобы облегчить программирование с применением Xlib (X11) и упростить создание пользовательских интерфейсов, существует несколько пакетов, из которых наиболее широко распространены X Toolkit Intrinsics (Xt), Athena (Xaw) и Motif (Xm). В последние годы появились два новых пакета: GTK+ и Qt, лежащих в основе популярных среди пользователей Linux графических интерфейсов GNOME и KDE.

Именно о программировании пользовательского интерфейса UNIX в системе X Window и будет идти речь в данной книге.

mcrypt_encrypt



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

mcrypt_encrypt

(PHP 4 >= 4.0.2)

mcrypt_encrypt - шифрует обычный текст с данными параметрами.

Описание

string mcrypt_encrypt (string cipher, string key, string data, string mode [, string iv])

mcrypt_encrypt() шифрует данные и возвращает шифрованные данные.

Cipher эта одна из констант MCRYPT_ciphername имени алгоритма как строки.

Key это ключ, с которым данные зашифрованы. Если он меньше необходимого размера ключа, он заполняется '\0'. Лучше не использовать ASCII-строки в качестве ключей. Рекомендуется использовать mhash-функции для создания ключа из строки.

Data это данные, шифрованные с заданным шифром и режимом.
Если размер данных не равен n * blocksize, данные будут заполнены '\0'. Возвращаемый зашифрованный текст может быть больше размера данных data.

Mode эта одна из констант MCRYPT_MODE_modename из "ecb", "cbc", "cfb", "ofb", "nofb" или "stream".

Параметр IV используется для инициализации в режимах CBC, CFB, OFB и некоторых алгоритмах режима STREAM. Если вы не предоставляете IV, когда он необходим для алгоритма, функция выдаёт предупреждение и использует IV со всеми байтами, установленными в '\0'.

Пример 1. mcrypt_encrypt()
<?php
    $iv = mcrypt_create_iv (mcrypt_get_iv_size (MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
    $key = "This is a very secret key";
    $text = "Meet me at 11 o'clock behind the monument.";
    echo strlen ($text)."\n";

    $crypttext = mcrypt_encrypt (MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
    echo strlen ($crypttext)."\n";
?>

Этот пример напечатает:

42
64

См. также в mcrypt_module_open() более продвинутый API и пример.


Назад Оглавление Вперёд
mcrypt_enc_self_test Вверхmcrypt_generic_deinit