Ejemplo mcrypt_create_iv

Ejemplo 1

Descripción

Este es un simple ejemplo que muestra el vector de inicialización para que el usuario se pueda hacer una ligera idea del contenido que este vector puede tener.

Para ello, abre un módulo con el algoritmo DES y en modo CFB, crea el vector y posteriormente muestra su contenido.

mcrypt_3_0.png

Código

<?php 
    // Inicializamos la semilla de números aleatorios 
    srand((double) microtime() * 1000000); 
 
    // Abrimos el módulo del algoritmo DES en modo cfb 
    $descriptor = mcrypt_module_open('des', '','cfb', '');
 
    // Obtenemos el tamaño del vector de inicialización 
    $tam_iv = mcrypt_enc_get_iv_size($descriptor);
 
    // Creamos el vector de inicialización utilizando la generación de números aleatorios del sistema
    $iv = mcrypt_create_iv($tam_iv, MCRYPT_RAND);
 
    // Mostramos el contenido del vector
    echo "El contenido del vector de inicialización creado es el siguiente: "; 
    $i = 0;
    while ($iv[$i]){
        echo $iv[$i];
        $i ++;
    }
 
    // Cerramos el módulo del algoritmo abierto
    mcrypt_module_close ($descriptor);
 
?>

Ejemplo 2

Descripción

La finalidad de este ejemplo es utilizar un vector de inicialización para cifrar un texto. Para ello creamos primero el vector, abrimos un módulo con el algoritmo DES y en modo CFB, asignamos el texto a una variable y lo codificamos utilizando en la función de cifrado el vector que acabamos de crear. Después mostramos el texto ya codificado.

mcrypt_3_1.png

Código

<?php
    // Inicializamos una variable con el tamaño de bloque del algoritmo triple DES 
    $tam_bloque = mcrypt_get_block_size(MCRYPT_DES, 'cfb');
 
    // Creamos un vector de inicialización con ese tamaño, y utilizando como fuente de cración del vector MCYPT_RAND
    $iv = mcrypt_create_iv($tam_bloque, MCRYPT_RAND);
 
    // Abrimos el módulo del algoritmo DES en modo cfb 
    $descriptor = mcrypt_module_open('des', '','cfb', '');
 
    // Asignamos a una variable el texto a cifrar
    $texto = "Este texto se cifrara en un instante";
 
    // Asignamos nuestra clave a una variable
    $clave = Secreta;
 
    // Comprobamos si los parámetros utilizados son correctos
    mcrypt_generic_init($descriptor, $clave, $iv);
 
    // Ciframos el texto
    $texto_cifrado = mcrypt_generic($descriptor, $texto);
 
    // Mostramos el texto cifrado
    print "<B> Texto cifrado: </B> <br>";
    print $texto_cifrado;
 
    // Cerramos el módulo del algoritmo abierto
    mcrypt_module_close ($descriptor);
 
?>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License