(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 constante parmi les constantes
MCRYPT_ciphername
, ou le nom de l'algorithme, sous la forme d'une 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 constantes parmi les constantes
MCRYPT_MODE_modename
, ou une des chaînes suivantes : "ecb", "cbc", "cfb", "ofb", "nofb" ou "stream".
iv
Utilisé pour l'initialisation des modes CBC, CFB, OFB, ainsi que dans quelques algorithmes du mode STREAM. Si vous ne fournissez pas un IV, alors que cela est nécessaire pour l'algorithme, la fonction émettra une alerte et utilisera un IV dont tous les octets vaudront "\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.