Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2014, 14:22
xasgay
 
Fecha de Ingreso: junio-2013
Mensajes: 18
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema con Base64 y método GET con PHP

Tengo un problema que no soy capaz de solucionar. El problema es que que el navegador, en la URL no reconoce el signo "=". Ahora explico mejor:
Ejecuto esto: miweb.com/archivo.php?cadena=au78sad5a67s= pero me desencripta mal, solo funciona si sustituyo el "=" por "%3D", es decir, así: miweb.com/archivo.php?cadena=au78sad5a67s%3D

Aquí dejo el código que uso:


Código PHP:
<meta charset="utf-8" />
<form action="#" method="get">
<input type="text" name="cadena" value="<?php if(isset($_GET['cadena'])) { echo $_GET['cadena']; }?>" size="60"></td>
    </form>
    <?php
    $contrasena 
"hello";
    
    function 
desencriptar($cadena$clave){
        
$cadena=base64_decode($cadena);
        
$cifrado MCRYPT_RIJNDAEL_256;
        
$modo MCRYPT_MODE_ECB;
        
$resultadomcrypt_decrypt($cifrado$clave$cadena$modo,
            
mcrypt_create_iv(mcrypt_get_iv_size($cifrado$modo), MCRYPT_RAND));
        return 
$resultado;
    }
    
?>

    <?php
    
            $valorOriginal 
desencriptar($_GET['cadena'], $contrasena);
            echo 
"Texto Desencriptado: <code style='color:#009922;'>".$valorOriginal."</code>";
    
    
?>