mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_genericChiffre 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

mcrypt_generic() chiffre les données data. Les données sont complétées par des "\0" pour obtenir une taille multiple de la taille d'un bloc. Elle retourne les données chiffrées. À noter que la longueur de la chaîne retournée peut être plus longue que celle passée en argument, à cause du complément.

Pour enregistrer les données chiffrées dans une base de données il faut s'assurer d'enregistrer la chaîne entière retournée par cette fonction, sinon la chaîne ne sera pas déchiffrée correctement. Si la chaîne d'origine comporte 10 caractères et que la taille d'un bloc est de 8 (utiliser mcrypt_enc_get_block_size() pour déterminer cette taille), on aura besoin d'au moins 16 caractères dans le champ de la base de données. À noter que la chaîne retournée par mdecrypt_generic() aura 16 caractères de long... utiliser rtrim($str, "\0") pour supprimer le complément.

Par exemple, si on enregistre les données dans une base de données MySQL, il faut se souvenir que les champs de type VARCHAR suppriment automatiquement les espaces en trop durant l'insertion. Comme les données chiffrées 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é, il faut libérer les buffers en appelant la fonction mcrypt_generic_deinit(). Voir mcrypt_module_open() pour un exemple.
data
Les données à chiffrer.

Valeurs de retour

Retourne les données chiffrées.

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top