(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_generic — Chiffre les données
Avertissement
Cette fonction est OBSOLÈTE à partir de PHP 7.1.0 et a été
SUPPRIMÉE à partir de PHP 7.2.0.
Dépendre de cette fonction est fortement déconseillé.
Description
mcrypt_generic(resource
$td
, string
$data
): string
Si vous voulez enregistrer les données chiffrées dans une base de données
assurez-vous d'enregistrer la chaîne entière retournée par cette fonction,
sinon la chaîne ne sera pas décryptée correctement. Si votre chaîne d'origine
comporte 10 caractères et que la taille d'un bloc est de 8 (utilisez
mcrypt_enc_get_block_size() pour déterminer cette taille),
vous aurez besoin d'au moins 16 caractères dans le champ de votre base de données.
Notez que la chaîne retournée par mdecrypt_generic() aura
16 caractères de long... utilisez rtrim($str, "\0")
pour supprimer le complément.
Par exemple, si vous enregistrez les données dans une base de données MySQL,
souvenez-vous que les champs de type VARCHAR suppriment automatiquement les
espaces en trop durant l'insertion. Comme les données chiffrés peuvent se
terminer avec un espace (ASCII 32), les données seront endommagées par cette
suppression. Stockez les données dans un champ de type TINYBLOB/TINYTEXT
(ou plus grand) pour que tout fonctionne normalement.
Liste de paramètres
-
td
-
La ressource de chiffrement.
Le gestionnaire de chiffrement td
doit être
initialisé avec la fonction mcrypt_generic_init(),
avec une clé et un VI, avant d'appeler cette fonction. Lorsque le chiffrement
est réalisé, vous devez libérer les buffers en appelant la fonction
mcrypt_generic_deinit().
Voyez mcrypt_module_open() pour un exemple.
-
data
-
Les données à chiffrer.
Valeurs de retour
Retourne les données chiffrées.
Voir aussi