Функции Язык программирования PHP

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

Синтаксис if..endif

'Альтернативный' способ записи операторов if/elseif/else с использованием if(); elseif(); else; endif; не может быть эффективно реализован без добавления значительного количества усложнений в разборщик 3.0. Из-за этого синтаксис был изменён:
Пример C-5. Миграция: старый синтаксис if..endif
if ($foo); echo "yep\n"; elseif ($bar); echo "almost\n"; else; 
echo "nope\n"; endif;
Пример C-6. Миграция: новый синтаксис if..endif
if ($foo): echo "yep\n"; elseif ($bar): echo "almost\n"; else: 
echo "nope\n"; endif;
К кривым второго порядка

Обратите внимание, что точки с запятой заменены на двоеточия во всех операторах, кроме одного, заканчивающего выражение (endif).