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