Шифры Mcrypt
Здесь перечислены шифры, поддерживаемые модулем mcrypt. Для полного списка поддерживаемых шифров смотрите список в конце файла mcrypt.h. Главное правило API mcrypt-2.2.x API состоит в том, что доступ к шифрам из PHP осуществляется путем использования констант MCRYPT_имяШифра. Эти константы также работают с AI libmcrypt-2.4.x и libmcrypt-2.5.x, но также можно задать шифр по имени с помощью функции mcrypt_module_open().
- MCRYPT_3DES
- MCRYPT_ARCFOUR_IV (только для libmcrypt > 2.4.x)
- MCRYPT_ARCFOUR (только для libmcrypt > 2.4.x)
- MCRYPT_BLOWFISH
- MCRYPT_CAST_128
- MCRYPT_CAST_256
- MCRYPT_CRYPT
- MCRYPT_DES
- MCRYPT_DES_COMPAT (только для libmcrypt 2.2.x)
- MCRYPT_ENIGMA (только для libmcrypt > 2.4.x, псевдоним для MCRYPT_CRYPT)
- MCRYPT_GOST
- MCRYPT_IDEA (не свободный)
- MCRYPT_LOKI97 (только для libmcrypt > 2.4.x)
- MCRYPT_MARS (только для libmcrypt > 2.4.x, не свободный)
- MCRYPT_PANAMA (только для libmcrypt > 2.4.x)
- MCRYPT_RIJNDAEL_128 (только для libmcrypt > 2.4.x)
- MCRYPT_RIJNDAEL_192 (только для libmcrypt > 2.4.x)
- MCRYPT_RIJNDAEL_256 (только для libmcrypt > 2.4.x)
- MCRYPT_RC2
- MCRYPT_RC4 (только для libmcrypt 2.2.x)
- MCRYPT_RC6 (только для libmcrypt > 2.4.x)
- MCRYPT_RC6_128 (только для libmcrypt 2.2.x)
- MCRYPT_RC6_192 (только для libmcrypt 2.2.x)
- MCRYPT_RC6_256 (только для libmcrypt 2.2.x)
- MCRYPT_SAFER64
- MCRYPT_SAFER128
- MCRYPT_SAFERPLUS (только для libmcrypt > 2.4.x)
- MCRYPT_SERPENT(только для libmcrypt > 2.4.x)
- MCRYPT_SERPENT_128 (только для libmcrypt 2.2.x)
- MCRYPT_SERPENT_192 (только для libmcrypt 2.2.x)
- MCRYPT_SERPENT_256 (только для libmcrypt 2.2.x)
- MCRYPT_SKIPJACK (только для libmcrypt > 2.4.x)
- MCRYPT_TEAN (только для libmcrypt 2.2.x)
- MCRYPT_THREEWAY
- MCRYPT_TRIPLEDES (только для libmcrypt > 2.4.x)
- MCRYPT_TWOFISH (для старых версий mcrypt 2.x или mcrypt > 2.4.x )
- MCRYPT_TWOFISH128 (TWOFISHxxx доступен в новых версиях 2.x, но не в 2.4.x)
- MCRYPT_TWOFISH192
- MCRYPT_TWOFISH256
- MCRYPT_WAKE (только для libmcrypt > 2.4.x)
- MCRYPT_XTEA (только для libmcrypt > 2.4.x)
Вы должны (в режимах CFB
и OFB
)
или можете (в режиме CBC
)
предоставить инициализирующий вектор (IV) для
выбранной функции шифрования. IV должен быть
уникальным и должен быть одинаковым для шифрования и
дешифрования. Для данных, которые хранятся в
шифрованном виде вы можете получить вывод функции
для индекса, под которым данные были сохранены
(например, MD5 хеш имени файла). Или вы можете
передать IV вместе с зашифрованными данными (смотрите
раздел 9.3 Applied Cryptography by Schneier (ISBN 0-471-11709-9)).