CakeFest 2024: The Official CakePHP Conference

Предопределённые константы

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

add a note

User Contributed Notes 2 notes

up
7
gordon at vixo dot com
11 years ago
These constants don't cover all the possible options.

There are two constants:
MCRYPT_MODE_OFB
MCRYPT_MODE_NOFB

These relate to using OFB mode in 8-bit feedback mode and using the same feedback length as the key

There is one constant
MCRYPT_MODE_CFB which uses 8-bit feedback mode

There ought to be a constant
MCRYPT_MODE_NCFB which uses the same feedback length as the key.

In fact you can just use the option 'ncfb' in mycrypt
up
-18
Andrey Andreev
10 years ago
You can just use strings instead of the constants ... they are useless and lacking for other modes that are fully supported. Here's a list:

cbc
ecb
ofb
nofb
cfb
ncfb
ctr
stream
To Top