Opens the module of the algorithm and the mode to be used (original) (raw)

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_open — Opens the module of the algorithm and the mode to be used

Warning

This function has been_DEPRECATED_ as of PHP 7.1.0 and_REMOVED_ as of PHP 7.2.0. Relying on this function is highly discouraged.

Description

mcrypt_module_open ( string $algorithm , string $algorithm_directory , string $mode , string $mode_directory ) : resource

Parameters

algorithm

One of the MCRYPT_ciphername constants, or the name of the algorithm as string.

algorithm_directory

The algorithm_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by themcrypt.algorithms_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled into libmcrypt (usually /usr/local/lib/libmcrypt).

mode

One of the MCRYPT_MODE_modename constants, or one of the following strings: "ecb", "cbc", "cfb", "ofb", "nofb" or "stream".

mode_directory

The mode_directory parameter is used to locate the encryption module. When you supply a directory name, it is used. When you set it to an empty string (""), the value set by themcrypt.modes_dir php.ini directive is used. When it is not set, the default directory that is used is the one that was compiled-in into libmcrypt (usually /usr/local/lib/libmcrypt).

Return Values

Normally it returns an encryption descriptor, or FALSE on error.

Examples

Example #1 mcrypt_module_open() Examples

<?php $td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');$td = mcrypt_module_open('rijndael-256', '', 'ofb', ''); ?>

The first line in the example above will try to open the DES cipher from the default directory and the ECB mode from the directory/usr/lib/mcrypt-modes. The second example uses strings as name for the cipher and mode, this only works when the extension is linked against libmcrypt 2.4.x or 2.5.x.

Example #2 Using mcrypt_module_open() in encryption

`<?php
/* Open the cipher /
$td = mcrypt_module_open('rijndael-256', '', 'ofb', '');/
Create the IV and determine the keysize length, use MCRYPT_RAND

See Also