Services webmasters
Partenaires
Jeux concours gratuits
 
mcrypt_module_is_block_mode
<<<
mcrypt_module_open mcrypt_module_self_test
>>>

7.53 Chiffrage mcrypt
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
Mcrypt ciphers
Exemples
mcrypt_cbc
mcrypt_cfb
mcrypt_create_iv
mcrypt_decrypt
mcrypt_ecb
mcrypt_enc_get_algorithms_name
mcrypt_enc_get_block_size
mcrypt_enc_get_iv_size
mcrypt_enc_get_key_size
mcrypt_enc_get_modes_name
mcrypt_enc_get_supported_key_sizes
mcrypt_enc_is_block_algorithm_mode
mcrypt_enc_is_block_algorithm
mcrypt_enc_is_block_mode
mcrypt_enc_self_test
mcrypt_encrypt
mcrypt_generic_deinit
mcrypt_generic_end
mcrypt_generic_init
mcrypt_generic
mcrypt_get_block_size
mcrypt_get_cipher_name
mcrypt_get_iv_size
mcrypt_get_key_size
mcrypt_list_algorithms
mcrypt_list_modes
mcrypt_module_close
mcrypt_module_get_algo_block_size
mcrypt_module_get_algo_key_size
mcrypt_module_get_supported_key_sizes
mcrypt_module_is_block_algorithm_mode
mcrypt_module_is_block_algorithm
mcrypt_module_is_block_mode
->mcrypt_module_open
mcrypt_module_self_test
mcrypt_ofb
mdecrypt_generic

7.53.42 mcrypt_module_open() Ouvre le module de l'algorithme et le mode à utiliser

[ Exemples avec mcrypt_module_open ]   PHP 4 >= 4.0.2

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

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 librairie est refermée en appelant mcrypt_module_close, mais il n'est pas nécessaire d'appeler cette fonction si mcrypt_generic_end est utilisé. Normalement, mcrypt_module_open retourne un pointeur d'encryption, ou bien FALSE en cas d'erreur.

algorithm_directory et mode_directory servent à repérer les modules d'encryption. Si vous fournissez un nom de dossier, il sera utilisé. Si vous passez une chaîne vide (""), la valeur utilisé par mcrypt.algorithms_dir ou mcrypt.modes_dir sera celle indiquée dans les directives de configuration. Lorsque ces paramètres ne sont pas fournis les valeurs par défaut, compilées avec la librairie sont utilisées. (généralement /usr/local/lib/libmcrypt).

Exemple avec mcrypt_module_open

<?php
  $td
= mcrypt_module_open (MCRYPT_DES, "", MCRYPT_MODE_ECB, "/usr/lib/mcrypt-modes");
?>
L'exemple ci-dessus va essayer d'ouvrir le module de chiffrement par DES, dans le dossier par défaut, et le mode EBC dans le dossier /usr/lib/mcrypt-modes.

Using mcrypt_module_open in encryption

<?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_deini

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 EBC 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.

Voir aussi mcrypt_module_close , mcrypt_generic , mdecrypt_generic , mcrypt_generic_init et mcrypt_generic_deinit .

<< mcrypt_module_open >>
mcrypt_module_is_block_mode Chiffrage mcrypt mcrypt_module_self_test
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -