(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_nombredelcifrado
, o el nombre del algoritmo como string.
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_nombredelmodo
, o una de las siguientes strings: "ecb", "cbc", "cfb", "ofb", "nofb" o "stream".
iv
Utilizado 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.