Rechercher une fonction PHP

mcrypt_module_open

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

mcrypt_module_openOpens the module of the algorithm and the mode to be used

Warning

This function has been DEPRECATED as of PHP 7.1.0. Relying on this function is highly discouraged.

Description

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

This function opens the module of the algorithm and the mode to be used. The name of the algorithm is specified in algorithm, e.g. "twofish" or is one of the MCRYPT_ciphername constants. The module is closed by calling mcrypt_module_close().

PHP: mcrypt_module_open - Manual Home of Manuel PHP  Contents Haut

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 the mcrypt.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 the mcrypt.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).

PHP: mcrypt_module_open - Manual Home of Manuel PHP  Contents Haut

Return Values

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

PHP: mcrypt_module_open - Manual Home of Manuel PHP  Contents Haut

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
     * on Windows instead */
    
$iv mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    
$ks mcrypt_enc_get_key_size($td);

    
/* Create key */
    
$key substr(md5('very secret key'), 0$ks);

    
/* Intialize encryption */
    
mcrypt_generic_init($td$key$iv);

    
/* Encrypt data */
    
$encrypted mcrypt_generic($td'This is very important data');

    
/* Terminate encryption handler */
    
mcrypt_generic_deinit($td);

    
/* Initialize encryption module for decryption */
    
mcrypt_generic_init($td$key$iv);

    
/* Decrypt encrypted string */
    
$decrypted mdecrypt_generic($td$encrypted);

    
/* Terminate decryption handle and close module */
    
mcrypt_generic_deinit($td);
    
mcrypt_module_close($td);

    
/* Show string */
    
echo trim($decrypted) . "\n";
?>

PHP: mcrypt_module_open - Manual Home of Manuel PHP  Contents Haut

See Also

Find a PHP function

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-mcrypt-module-open.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:fr Manuel PHP : http://php.net

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut