[C con Clase] Encriptar texto

Alejandro alepelexo en yahoo.es
Vie Sep 14 12:08:29 CEST 2007


Tengo un problema, quiero hacer una función que me encripte texto, pero no lo consigo, y no se en que fallo. La función es esta:

char* Encripta(char* frase)
{
      const int VALORES = 65;
      char inicial[VALORES] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/ ";
      char encripta[VALORES] = "QWERTYUIOP+ASDFGHJKLÑÇ<ZXCVBNM,.-aHIJKLMNOPQRSTUVWXYZqwertyuiop!";
      
      for(int k = 0; frase[k]; k++)
      {
              for(int x = 0; x < VALORES; x++)
              {
                      if(frase[k] == inicial[x])
                      {
                                  frase[k] = encripta[x]
                                  break;
                      }
              }
      }
      
      return frase;
}

Y me da el problema de "Encripta.exe ha detectado un problema y debe cerrarse..." Lo que más me molesta es que si le paso como argumento una cadena de caracteres ya definida funciona a la perfección, pero si le paso una frase no. Por ejemplo:

char cadena[5] = "Hola";
Encripta(cadena);

Esto me funciona. Cuando no me funciona es cuando hago esto:

Encripta("Hola");

¿Qué pasa?

Gracias y un saludo, Alejandro.


Más información sobre la lista de distribución Cconclase