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