Filtros de Compresión
Lista de Transportes de Sockets Soportados
Lista de Filtros Disponibles
PHP Manual

## Filtros de Encripción

mcrypt.* y mdecrypt.* ofrecen encripción y desencripción simétrica usando libmcrypt. Ambos conjuntos de filtros soportan los mismos algoritmos disponibles a la extensión mcrypt en la forma de mcrypt.ciphername, en donde `ciphername` es el nombre del cifrado que debe ser pasado a mcrypt_module_open(). Los siguientes cinco parámetros se encuentran disponibles también:

parámetros del filtro mcrypt
Parámetro | ¿Requerido? | Predeterminado | Ejemplos
--- | --- | --- | ---
mode | Opcional | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | Opcional | ini_get('mcrypt.algorithms_dir') | Ubicación de los módulos de los algoritmos
modes_dir | Opcional | ini_get('mcrypt.modes_dir') | Ubicación de los módulos de los modos
iv | Requerido | N/A | Usualmente 8, 16, o 32 bytes de datos binarios. Depende del cifrado
key | Requerido | N/A | Usualmente 8, 16, o 32 bytes de datos binarios. Depende del cifrado

Example #1 Encripción de la salida usando 3DES

`<?php
$frase_secreta = 'Mi secreto';
/* Convertir una frase legible en una pareja iv/llave reproducible
*/
$iv = substr(md5('iv'.$frase_secreta, true), 0, 8);
$llave = substr(md5('contrasenya1'.$frase_secreta, true) .
md5('contrasenya2'.$frase_secreta, true), 0, 24);
$opciones = array('iv'=>$iv, 'key'=>$key);
$da = fopen('archivo-secreto.enc', 'wb');
stream_filter_append($da, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opciones);
fwrite($da, 'Datos muy muy muy secretos');
fclose($da);
?>`

Example #2 Lectura de un archivo encriptado

`<?php
$frase_secreta = 'Mi secreto';
/* Convertir una frase legible en una pareja iv/llave reproducible
*/
$iv = substr(md5('iv'.$frase_secreta, true), 0, 8);
$llave = substr(md5('contrasenya1'.$frase_secreta, true) .
md5('contrasenya2'.$frase_secreta, true), 0, 24);
$opciones = array('iv'=>$iv, 'key'=>$llave);
$da = fopen('archivo-secreto.enc', 'rb');
stream_filter_append($da, 'mdecrypt.tripledes', STREAM_FILTER_WRITE, $opciones);
$datos = rtrim(stream_get_contents($da));
fclose($da);
echo $datos;
?>`

Filtros de Compresión
Lista de Transportes de Sockets Soportados
Lista de Filtros Disponibles
PHP Manual