mcrypt_generic_init
<<<
mcrypt_generic mcrypt_get_block_size
>>>

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.28 mcrypt_generic()Chiffre les données

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

string  mcrypt_generic ( resource   td , string   data )

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. Notez que la longueur de la chaîne retournée peut être plus longue que celle passée en argument, à cause du complément.

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 encryptées peuvent se terminer avec un espace (ASCII 32), les données seront endomagées par cette suppression. Stockez les données dans un champ tinyblob/tinytext (ou plus grand) pour que tout fonctionne normalement.

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.

Voir aussi mdecrypt_generic , mcrypt_generic_init et mcrypt_generic_deinit .

<< mcrypt_generic >>
mcrypt_generic_init chiffrement mcrypt mcrypt_get_block_size