(PHP 4 >= 4.0.2, PHP 5)
mcrypt_encrypt — Encripta texto plano con los parámetros dados
$cipher
, string $key
, string $data
, string $mode
[, string $iv
] )Encripta los datos y los devuelve.
cipher
Una de las constantes MCRYPT_ciphername
,
o el nombre del algoritmo en formato cadena.
key
La clave con la que los datos serán encriptados. 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
.
mode
Una de las constantes MCRYPT_MODE_modename
,
o una de las siguientes cadenas: "ecb", "cbc", "cfb", "ofb",
"nofb" o "stream".
iv
Es utilizado para la inicialización en modo CBC, CFB, OFB, y en algunos algoritmos en modo STREAM. Si no se indica ningún IV, mientras sea necesario para un algoritmo, la función genera un warning y utiliza un IV con todos sus bytes seteados 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.