Предопределенные константы
Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.
Mcrypt может работать в четырех режимах блочного
шифрования (CBC
,
OFB
, CFB
и
ECB
). Если слинковано с libmcrypt-2.4.x
или выше, функции также могут работать в режимах
nOFB
и STREAM
.
Ниже вы найдете список всех поддерживаемых режимов
шифрования вместе с константами, которые определены
для них. Более подробно читайте
Applied Cryptography by Schneier (ISBN 0-471-11709-9).
-
MCRYPT_MODE_ECB
(electronic codebook
) - это режим блочного шифрования, который в целом непригоден для большинства задач. Использование этого режима не рекомендовано. -
MCRYPT_MODE_CBC
(cipher block chaining
) - это режим блочного шифрования, который немногим лучшеECB
. -
MCRYPT_MODE_CFB
(cipher feedback, в 8-битном режиме
) - это режим потокового шифрования. Рекомендуется использовать режимNCFB
, а неCFB
. -
MCRYPT_MODE_OFB
(output feedback, в 8-битном режиме
) - это режим потокового шифрования сравнимый сCFB
, но может использоваться в приложениях, нетерпимых к распространению ошибок. Рекомендуется использовать режимNOFB
вместоOFB
. -
MCRYPT_MODE_NOFB
(output feedback, в N-битном режиме
) - сравним с режимомOFB
, но оперирует полным размером блока алгоритма. -
MCRYPT_MODE_STREAM
- это дополнительный режим для подключения некоторых потоковых алгоритмов, таких как"WAKE"
или"RC4"
.
Mcrypt поддерживает некоторые другие режимы работы для которых нет предопределенных констант. Их можно задавать с помощью строки вместо константы.
-
"ctr"
(counter mode
) - режим потокового шифрования. -
"ncfb"
(cipher feedback, в N-битном режиме
) - сравним с режимомCFB
, но оперирует полным размером блока алгоритма.
Некоторые другие режимы и константы генераторов случайных чисел:
-
MCRYPT_ENCRYPT
(int) -
MCRYPT_DECRYPT
(int) -
MCRYPT_DEV_RANDOM
(int) -
MCRYPT_DEV_URANDOM
(int) -
MCRYPT_RAND
(int)