C/Visual C - Encriptación y algo más en C

 
Vista:

Encriptación y algo más en C

Publicado por The_Devil (1 intervención) el 11/06/2006 19:55:30
Holas,
tengo un programa en C, con manejo de ficheros, que tiene un sistema de seguridad de nick + pass. El programa encripta la contraseña en el fichero (por ahora lo único que hace es añadir 1 al código ASCII de cada carácter de la contraseña).
Ando buscando un sistema de encriptación (y posteriormente de desencriptación para validad el login del programa) algo más complejo, pero la verdad no se me ocurre nada mejor.

El otro problema que tengo es esta función:

[code]void baja()
{
//usuario nuevo;
FILE *fichero;
FILE *fichero2;
char nick[20];
char pass[20];
char nick1[20];
char pass1[20];
char cambio[40];
char caracter;
int i=0;
fichero=fopen("passwd.txt","r+");
fichero2=fopen("passtwo.txt","w");
if(fichero==NULL || fichero2==NULL)
{
printf("\n\n\tError de Lectura / Escritura en el fichero.");
exit(0);
}
printf("\n\n\tIntroduzca nick a borrar: ");
gets(nick);
printf("\n\n\tIntroduzca pass para confirmar borrado: ");
gets(pass);
caracter=fgetc(fichero);
while(feof(fichero)==0)
{
do
{
nick1[i]=caracter;
i++;
caracter=fgetc(fichero);
}
while(caracter!=':');
nick1[i]='\0';
caracter=fgetc(fichero);
i=0;
do
{
pass1[i]=caracter;
i++;
caracter=fgetc(fichero);
}
while(caracter!='\n');
pass1[i]='\0';
// desencriptamos
if(strcmp(nick,nick1)==0 && strcmp(pass,pass1)==0)
{
printf("\n\n\t\tDatos borrados, pulse una tecla para volver al menu...");
getch();
}
else
{
fprintf(fichero2,"%s:",nick1);
fprintf(fichero2,"%s",pass1);
fprintf(fichero2,"\n");
}
}
while(feof(fichero2)==0)
{
fgets(cambio,40,fichero2);
fputs(cambio,fichero);
fprintf(fichero,"\n");
}
fcloseall();
}[/code]

Lo que tiene que hacer es pide un usuario y contraseña, y los borra (si existen) en el fichero passwd.txt. La idea era ir copiando passwd.txt a passtwo, salvo la línea en la que están el pass y la contraseña a borrar (en cada línea hay pass:contraseña, con el separador de campos dos puntos). Y luego volcar passtwo entero a passwd, pero no me funciona y no sé porqué :/

A ver si podéis echarme un cable.

Nos vemos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder