(PHP 4 >= 4.0.2, PHP 5)
mcrypt_encrypt — Cifra texto plano con los parámetros dados
$cipher
, string $key
, string $data
, string $mode
[, string $iv
] )Cifra los datos y los devuelve.
cipherUna de las constantes MCRYPT_nombredelcifrado, o el nombre del algoritmo como string.
keyLa clave con la que los datos serán cifrados. Si es más pequeña de lo requerido, se rellena con '\0'. Es mejor no utilizar cadenas ASCII para claves.
Es recomendable utilizar las funciones mhash para crear una clave desde una cadena.
data
Los datos que serán cifrados con el cifrador
y modo dados a través de cipher
y mode. Si el tamaño
de la información no es n * blocksize, ésta
será rellenada con '\0'.
El texto cifrado devuelto puede ser mayor al tamaño de datos que fue
especificado por el parámetro data.
modeUna de las constantes MCRYPT_MODE_nombredelmodo, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".
ivUtilizado para la inicialización en los modos CBC, CFB, OFB, y en algunos algoritmos en modo STREAM. Si no se proporciona un IV, aunque es necesario para el algoritmo, la función lanza un mensaje de advertencia y utiliza un IV con todos sus bytes establecidos a "\0".
Devuelve los datos cifrados, en formato cadena.
Ejemplo #1 Ejemplo de mcrypt_encrypt()
<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "Esta es una clave muy secreta";
$text = "Encuéntrame a las 11 en punto detrás del monumento.";
echo strlen($text) . "\n";
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo strlen($crypttext) . "\n";
?>
El resultado del ejemplo sería:
42 64
Véase también mcrypt_module_open() para una API más avanzada y un ejemplo.