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_openOuvre le module de l'algorithme et du mode à utiliser

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 7.1.0. Dépendre de cette fonction est fortement déconseillé.

Description

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

mcrypt_module_open() ouvre le module de l'algorithme et du mode à utiliser. Le nom de l'algorithme est spécifié par le paramètre algorithm (par exemple : "twofish"), ou bien une des constantes MCRYPT_ciphername. La bibliothèque est refermée en appelant mcrypt_module_close().

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

algorithm

Une constante parmi les constantes MCRYPT_ciphername, ou le nom de l'algorithme, sous la forme d'une chaîne de caractères.

algorithm_directory

Le paramètre algorithm_directory est utilisé pour localiser le module de cryptage. Lorsque vous spécifiez un nom de dossier, il sera utilisé. Si vous spécifiez une chaîne vide (""), la valeur définie dans la directive mcrypt.algorithms_dir du fichier php.ini sera utilisée. Lorsqu'elle n'est pas définie, le dossier par défaut utilisé sera celui dans lequel se trouve la bibliothèque libmcrypt (habituellement, /usr/local/lib/libmcrypt).

mode

Une constantes parmi les constantes MCRYPT_MODE_modename, ou une des chaînes suivantes : "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".

mode_directory

Le paramètre mode_directory est utilisé pour localiser le module de cryptage. Si un nom de dossier est spécifié, il sera utilisé. Lorsque vous spécifiez une chaîne vide (""), la valeur de la directive mcrypt.modes_dir du fichier php.ini sera utilisée. Si elle n'est pas définie, le dossier par défaut utilisé sera celui dans lequel se trouve la bibliothèque libmcrypt (habituellement /usr/local/lib/libmcrypt).

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Normalement, cette fonction retourne un descripteur de cryptage, ou FALSE si une erreur survient.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec mcrypt_module_open()

<?php
$td 
mcrypt_module_open(MCRYPT_DES'',
    
MCRYPT_MODE_ECB'/usr/lib/mcrypt-modes');

$td mcrypt_module_open('rijndael-256''''ofb''');
?>

La première ligne de l'exemple ci-dessus va essayer d'ouvrir le chiffrement DES, dans le dossier par défaut, et le mode ECB dans le dossier /usr/lib/mcrypt-modes. Le second exemple utilise les chaînes comme nom pour le chiffrement et le mode. Cela ne fonctionne que si l'extension est compilée avec libmcrypt 2.4.x or 2.5.x.

Exemple #2 Utilisation de mcrypt_module_open() pour chiffrer

<?php
/* Charge un chiffrement */
$td mcrypt_module_open('rijndael-256''''ofb''');

/* Crée le VI et détermine la taille de la clé */
$iv mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$ks mcrypt_enc_get_key_size($td);

/* Crée la clé */
$key substr(md5('very secret key'), 0$ks);

/* Intialise le chiffrement */
mcrypt_generic_init($td$key$iv);

/* Chiffre les données */
$encrypted mcrypt_generic($td'This is very important data');

/* Libère le gestionnaire de chiffrement */
mcrypt_generic_deinit($td);

/* Initialise le module de chiffrement pour le déchiffrement */
mcrypt_generic_init($td$key$iv);

/* Déchiffre les données */
$decrypted mdecrypt_generic($td$encrypted);

/* Libère le gestionnaire de déchiffrement, et ferme le module */
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

/* Affiche la chaîne */
echo trim($decrypted)."\n";
?>

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Version en cache

26/11/2024 10:12:08 Cette version de la page est en cache (à la date du 26/11/2024 10:12:08) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mcrypt-module-open.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut