Предопределенные константы
Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если 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)