(PHP 4 >= 4.0.2, PHP 5)
mcrypt_encrypt — Chiffre un texte
$cipher
, string $key
, string $data
, string $mode
[, string $iv
] )mcrypt_encrypt() chiffre les données, et retourne les données chiffrées.
cipher
Une des constantes MCRYPT_ciphername
,
contenant le nom de l'algorithme, sous forme de chaîne de caractères.
key
La clé avec laquelle les données seront chiffrées. Si elle est plus petite que sa taille demandée, elle sera complétée avec des '\0'. Il est mieux de ne pas utiliser des clés ASCII.
Il est recommandé d'utiliser les fonctions mhash pour créer des clés à partir d'une chaîne.
data
Les données qui seront chiffrées, avec le cipher
et le
mode
indiqué.
Si la taille des données n'est pas un multiple de la taille de bloc,
les données seront complétées par des caractères '\0',
autant que nécessaire.
Le texte chiffré retourné peut être plus long que la taille des données
passées en argument via data
.
mode
Une des constantes MCRYPT_MODE_modename
,
parmi les valeurs de "ecb", "cbc",
"cfb", "ofb",
"nofb" et "stream".
iv
Ce paramètre est utilisé pour l'initialisation en modes CBC, CFB et OFB, et dans certains algorithmes en mode STREAM. Si vous ne fournissez pas de vecteur d'initialisation et que l'algorithme en requiert un, la fonction va émettre une alerte, et utiliser un vecteur d'initialisation entièrement constitué de '\0'.
Retourne les données chiffrées, sous forme de chaîne de caractères.
Exemple #1 Exemple avec mcrypt_encrypt()
<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
echo strlen($text) . "\n";
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo strlen($crypttext) . "\n";
?>
L'exemple ci-dessus va afficher :
42 64
Voir aussi mcrypt_module_open() pour une meilleure API et un exemple.