Foros del Web » Programando para Internet » PHP »

Problema con mcrypt

Estas en el tema de Problema con mcrypt en el foro de PHP en Foros del Web. Hola a todos. Estoiy intentando usar las funciones de encriptación/desencriptación de php mcrypt . He editado el fichero php.ini incluyendo la dll, he comprobado que ...
  #1 (permalink)  
Antiguo 24/01/2011, 01:23
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
Pregunta Problema con mcrypt

Hola a todos. Estoiy intentando usar las funciones de encriptación/desencriptación de php mcrypt. He editado el fichero php.ini incluyendo la dll, he comprobado que el fichero php.ini es el correcto con phpinfo() y que la dll está en la carpeta ext. Aun así el explorador me sigue lanzando los siguientes errores:


Notice: Use of undefined constant MCRYPT_MODE_ECB - assumed 'MCRYPT_MODE_ECB' in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\Heracles\encripta.php on line 18

Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\Heracles\encripta.php on line 19

Fatal error: Call to undefined function mcrypt_encrypt() in C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\Heracles\encripta.php on line 21


El código que utilizo es el siguiente:

Código PHP:
<?php
function mysql_aes_decrypt($val,$ky)
{
    
$key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
    for(
$a=0;$a<strlen($ky);$a++)
      
$key[$a%16]=chr(ord($key[$a%16]) ^ ord($ky[$a]));
    
$mode MCRYPT_MODE_ECB;
    
$enc MCRYPT_RIJNDAEL_128;
    
$dec = @mcrypt_decrypt($enc$key$val$mode, @mcrypt_create_iv( @mcrypt_get_iv_size($enc$mode), MCRYPT_DEV_URANDOM ) );
    return 
rtrim($dec,(( ord(substr($dec,strlen($dec)-1,1))>=and ord(substr($decstrlen($dec)-1,1))<=16)? chr(ordsubstr($dec,strlen($dec)-1,1))):null));
}

function 
mysql_aes_encrypt($val,$ky)
{
    
$key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
    for(
$a=0;$a<strlen($ky);$a++)
      
$key[$a%16]=chr(ord($key[$a%16]) ^ ord($ky[$a]));
    
$mode=MCRYPT_MODE_ECB;
    
$enc=MCRYPT_RIJNDAEL_128;
    
$val=str_pad($val, (16*(floor(strlen($val) / 16)+(strlen($val) % 16==0?2:1))), chr(16-(strlen($val) % 16)));
    return 
mcrypt_encrypt($enc$key$val$modemcrypt_create_ivmcrypt_get_iv_size($enc$mode), MCRYPT_DEV_URANDOM));
}

$cadena "alex";
$semilla "epicsa";

echo 
"Cadena encriptada: ".mysql_aes_encrypt($cadena,$semilla)."<br>";
echo 
"Cadena desencriptada: ".mysql_aes_decrypt($cadena,$semilla)."<br>";

?>

No se dónde estoy metiendo la pata. Espero que alguno de vosotros me pueda orientar.

Un saludo y gracias a todos.
  #2 (permalink)  
Antiguo 24/01/2011, 01:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Problema con mcrypt

Si no mal recuerdo son dos extensiones una es la libmcrypt y la otra la mcrypt ambas deben de estar en el direcotorio ext o donde sea que busca php las librerias, aparte de descomentar la linea correspondiente del php.ini tambien recuerda reiniciar el apache.
__________________
Saludos.
  #3 (permalink)  
Antiguo 24/01/2011, 02:04
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
Pregunta Respuesta: Problema con mcrypt

He leido que el fichero libmcrypt.dll debe estar en la carpeta de sistema, en mi caso:

C:\WINNT\System

pero no he leido nada de que tenga que estar en la carpeta ext.

En cuando a reiniciar el servidor, lo hago siempre que hago algún cambio.

¿Estás seguro de que debo incluir libmcrypt.dll en el fichero php.ini?
Si es así, ¿Dejo el fichero en la carpeta del sistema o lo paso a la carpeta ext?

Muchas gracias por tu interés.
  #4 (permalink)  
Antiguo 24/01/2011, 02:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Problema con mcrypt

Que version de php estas usando ??
__________________
Saludos.
  #5 (permalink)  
Antiguo 24/01/2011, 02:17
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con mcrypt

PHP Version 5.2.9-2
  #6 (permalink)  
Antiguo 24/01/2011, 02:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: Problema con mcrypt

Es raro entonces, debiera de funcionarte. no te marca nada apache cuando arranca en sus logs ??
__________________
Saludos.
  #7 (permalink)  
Antiguo 24/01/2011, 02:28
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 0
Pregunta Respuesta: Problema con mcrypt

Ahora que lo comentas, desde que hice los cambios que te he dicho, al arrancar apache me sale un error diciéndome que no se encuentra el fichero php4ts.dll.

¿Puede tener algo que ver con que no me funcionen las funciones mcrypt ?

Saludos

Última edición por aalleexx81; 24/01/2011 a las 03:26

Etiquetas: mcrypt
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 13:41.