Manuel PHP
Précédent |  | Suivant

# mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5)

mdecrypt_generic -- Déchiffre

## Description

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 1. Exemple avec mdecrypt_generic()

`<?php
/* Données */
$key = 'Ceci est une très longue clé de chiffrement, voire 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 buffers 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 chiffrage sont bien les mêmes que celles après chiffrage/déchiffrage. 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ée et un VI avant d'appeler cette fonction. Lorsque le chiffrement est fait, il faut que vous libérirez 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().

Précédent | Sommaire | Suivant
mcrypt_ofb | Niveau supérieur | Fonctions de paiement MCVE