mcrypt_ofb
<<<
mdecrypt_generic Référence des fonctions
>>>

6.20 chiffrement mcrypt
6 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
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

6.20.45 mdecrypt_generic()Déchiffre

[ Exemples avec mdecrypt_generic ]   PHP 4 >= 4.0.2, PHP 5

string  mdecrypt_generic ( resource   td , string   data )

mdecrypt_generic déchiffre les données data . Notez que la longueur de la chaîne déchiffrée peut être plus longue que la chaîne originale, car elle peut avoir été complétée par des caractères " \0 ".

Exemple avec mdecrypt_generic

<?php
/* Données */
$key = 'Ceci est une très longue clé de chiffrement, et même trop longue';
$plain_text = 'Ceci sont des données importantes';

/* Ouvre le module et crée un VI */
$td = mcrypt_module_open('des', '', 'ecb', '');
$key = substr($key, 0, mcrypt_enc_get_key_size($td));
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

/* Initialise le module de chiffrement */
if (mcrypt_generic_init($td, $key, $iv) != -1) {

    
/* Chiffre les données */
    
$c_t = mcrypt_generic($td, $plain_text);
    
mcrypt_generic_deinit($td);

    
/* Réinitialise les tampons pour le déchiffrement */
    
mcrypt_generic_init($td, $key, $iv);
    
$p_t = mdecrypt_generic($td, $c_t);

    
/* Nettoye */
    
mcrypt_generic_deinit($td);
    
mcrypt_module_close($td);
}

if (
strncmp($p_t, $plain_text, strlen($plain_text)) == 0) {
    echo
"ok\n";
} else {
    echo
"erreur\n";
}
?>

L'exemple ci-dessus montre comment vérifier que les données avant chiffrement sont bien les mêmes que celles après chiffrement/déchiffrement. Il est très important de réinitialiser le buffer de chiffrement avec mcrypt_generic_init avant que nous ne déchiffriez les données.

Le gestionnaire de déchiffrement doit toujours être initialisé par la fonction mcrypt_generic_init avec une clé et un VI avant d'appeler cette fonction. Lorsque le chiffrement est fait, il faut que vous libériez les données chiffrées en appelant mcrypt_generic_deinit . Voir mcrypt_module_open pour un exemple.

Voir aussi mcrypt_generic , mcrypt_generic_init et mcrypt_generic_deinit .

<< mdecrypt_generic >>
mcrypt_ofb chiffrement mcrypt Référence des fonctions