Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2013, 17:09
zubintro
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Problema con encriptado

Hola amigos buenas tardes. Tengo un problema con el siguiente metodo de encriptado que uso para aplicarlo a los correos electronicos

Código PHP:
class escondido {
    private static 
$indicador "miclave";
    public static function 
encri ($input) {
        
$output base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256md5(escondido::$indicador), $inputMCRYPT_MODE_ECBmd5(md5(escondido::$indicador))));
        return 
$output;
    }
    public static function 
desencri ($input) {
        
$output rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256md5(escondido::$indicador), base64_decode($input), MCRYPT_MODE_ECBmd5(md5(escondido::$indicador))), "\0");
        return 
$output;
    }

al momento de ingresar un correo que tenga mas de 32 caracteres me da una cadena sumamente larga.

Por ejemplo si uso el siguiente texto "[email protected]" me da esta cadena de texto: hu/Se3oKLK/LqHs8qIrGD1tHMg6k4iP9TvZ4AhE/JHQ=

A diferencia de que si le agrego una letra mas "[email protected]" me entrega esta cadena exageradamente larga y que me complica un esquema de validacion: 5mF1N8fG3oJ8yh95vOkJMrcZnyszqPBR3sX20CsWqoaEGaSU3J PjhJmIzNMMqYYkM0pHGS7K3GotR0kSIuD9xQ==

El proceso de validacion que aplico es el siguiente:
Código PHP:
$email trim($_GET['email']);
$desencri escondido::desencri($email);
$Ok ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"$desencri);
    if (
$Ok) {
        
//mail($adminemail,'Subscribe','','From: '.$email);
        
Header("Location: $valido");
        
$sql2"INSERT INTO emails (email,category) VALUES ('$desencri','1')";
        
mysql_query($sql2);
    }else{
    
Header("Location: $invalido");

con el primer ejemplo hasta 32 caracteres no tengo ningun problema, pero si alguna cadena de texto o correo supera este valor ya me entrega un error. Alguien tiene alguna idea de como podria mejorar este proceso para evitar ese problema??.

Gracias y feliz fin de semana