Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/08/2008, 11:06
Leingod
 
Fecha de Ingreso: agosto-2008
Mensajes: 27
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Sistema de encriptación RSA

Perdón por el doble post, pero me ha surgido un problema justo al final de todo [me acabo de dar cuenta ahora mismo], espero que me ayudéis porque creo que es lo último que me queda por finalizar.

Os explico: teniendo una frase cualquiera, mi sistema convierte a un código numérico que tengo almacenado en otro archivo; este código numérico lo convierto en un número de, según mis cálculos, 4 dígitos. Sin embargo, algunos valores después de la encriptación pueden ser de menos dígitos. ¿Qué hago? Tengo una función que me comprueba si tengo o no 4 dígitos en el valor encriptado. La función es esta:

Código:
  function compruebaCifrado($pEncriptada,$f)
  {
    $stlen = strlen($pEncriptada);
    $esp = $f - $stlen;
    
    if ($esp > 0)
    {
      for ($i=1; $i<=$esp; $i++)
      {
        echo $i."<br>";
        $st = "0".$pEncriptada;
        echo $st."<br>";
      }
      $pEncriptada = $st;

    }
    return $pEncriptada;
  }
Donde $pEncriptada es la letra encriptada [la función recibe la palabra encriptada y me comprueba si tiene o no 4 dígitos], y $f es un valor fijo de 4, que es el número de dígitos de cada número.

Compruebo mediante el valor $esp cuántos dígitos faltan a dicho número para ser 4: si $esp es 0, no hay que hacer nada devolvemos la letra encriptada y punto, y si no añadimos tantos 0 a la izquierda como dígitos falten.

Todo perfecto, he hecho muchas pruebas y funcionaba perfectamente, hasta que me dí cuenta de un fallo que, aunque está contemplado, no funciona: si el número de 2 dígitos sólo añade un 0 a la izquierda en vez de dos, con lo que el mensaje se me descuadra completamente el mensaje cifrado...

¿Alguna idea de dónde está mi error o cómo solucionaro?

Gracias por adelantado ;)