32) { $clave = substr($clave,0,32); } while(strlen($clave)<32) { $clave .= $_SESSION['diaAcceso1']; } $cifrado = MCRYPT_RIJNDAEL_256; $modo = MCRYPT_MODE_ECB; return rawurlencode(base64_encode(mcrypt_encrypt($cifrado, $clave, $cadena, $modo,mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND)))); } // Función para desencriptación function desencriptar($cadena, $clave = 'SPA861201DK4') { if(strlen($clave)>32) { $clave = substr($clave,0,32); } $claveA = $clave; while(strlen($clave)<32) { $clave .= $_SESSION['diaAcceso1']; } // Esta sección administra los cambios en el carácter de relleno if($_SESSION['diaAcceso0']!=$_SESSION['diaAcceso1']) { while(strlen($claveA)<32) { $claveAnterior .= $_SESSION['diaAcceso0']; } $_SESSION['diaAcceso0'] = $_SESSION['diaAcceso1']; foreach($arrEncriptadas as $strEncriptada) { if(isset($_SESSION[$strEncriptada])) { $_SESSION[$strEncriptada] = encriptar(desencriptar($_SESSION[$strEncriptada],$claveAnterior),$clave); } } } $cifrado = MCRYPT_RIJNDAEL_256; $modo = MCRYPT_MODE_ECB; return str_replace(chr(0),'',mcrypt_decrypt($cifrado,$clave,base64_decode(rawurldecode($cadena)), $modo,mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND))); } ?>