Foros del Web » Programando para Internet » PHP »

Problema usando mcrypt_decrypt

Estas en el tema de Problema usando mcrypt_decrypt en el foro de PHP en Foros del Web. Buenas tardes Tengo una pequeña duda lo que ocurre es que estoy usando los métodos mcrypt_encrypt y mcrypt_decrypt, estos son los metodos que uso @import ...
  #1 (permalink)  
Antiguo 08/01/2013, 13:56
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Pregunta Problema usando mcrypt_decrypt

Buenas tardes

Tengo una pequeña duda lo que ocurre es que estoy usando los métodos mcrypt_encrypt y mcrypt_decrypt, estos son los metodos que uso

Código PHP:
Ver original
  1. static function encrypt($data, $key) {
  2.         $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
  3.         $passcrypt = trim(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, trim($data), MCRYPT_MODE_ECB, $iv));
  4.     $encode = base64_encode($passcrypt);
  5.     return $encode;
  6.     }
  7.    
  8.     static function decrypt($data, $key){
  9.         $decoded = base64_decode($data);
  10.     $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
  11.     $decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, trim($decoded), MCRYPT_MODE_ECB, $iv));
  12.     return $decrypted;
  13.     }

El problema esta que estoy realizando una aplicación en donde genero dos id uno es de la encuesta y el otro id del encuestado en donde lo envio por email a cada encuestado lo que ocurre es que algunos ids encriptado no desencripta correctamente a pesar que el metodo esta correctamente y me he dado cuenta que esto ocurre solamente cuando la cadena de encriptacion devuelve al final siempre dos iguales

Código PHP:
Ver original
  1. for ($i = 1; $i < 50; $i++) {
  2.             for ($j = 1; $j < 50; $j++) {
  3.                 $e = encrypt($i . '-' . $j, 'abc');
  4.                 $de = decrypt($e, 'abc');
  5.                 echo $e . '<br/>';
  6.                 echo $de . '<br/><br/>';
  7.             }
  8.         }

Por ejemplo encripto este numero

Código PHP:
Ver original
  1. $e = encrypt('2-90', 'abc');
  2. $de = decrypt($e, 'abc');
  3. echo $e . '<br/>';
  4. echo $de . '<br/><br/>';

y lo que me retorna la cadena encriptada es este valor

8jyTB5xAmRBVRwgkiRk77vQivKMlXh7wRZNFmYfXaw==

y al desencriptarla me devuelve otra cosa …Úa6*©·•ß)‘)&êâ瘨ìŠj|1X“6 y esto me esta pasando en algunos casos

Espero que alguien me pueda ayudar por favor

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: usando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.