Red de conocimiento informático - Material del sitio web - Cómo escribir un programa criptográfico usando lenguaje C

Cómo escribir un programa criptográfico usando lenguaje C

La contraseña se guarda en el archivo y la contraseña se lee del archivo, pero no se realiza tolerancia a fallas ni manejo de excepciones. Es solo como referencia

#include stdio; .hgt;

#include lt; string.hgt;

#define PSDLEN 6

void inputPsd(char *str) /*entrada de proceso*/

{

int i

for(i = 0; i lt; PSDLEN; i )

{

mientras(1)

{

str[i] = getch();

if(str[i] == '\b') /*Procesar la tecla de retroceso* /

{

i--;

if(i lt; 0)

{

i = 0;

}

más

{

printf("\b \b") ;

}

continuar;

}

else if(str[i] == '\r') /*Proceso la tecla Intro*/

{

continuar

}

más

{

;

printf("* ");

descanso

}

}

}

str[i] = '\ 0';

printf("\n");

}

int checkFirst() /*Compruebe si es la primera vez que lo uso*/

{

ARCHIVO *fp;

if((fp = fopen("psd.dat", "rb") ) == NULL)

{

devuelve 1;

}

fclose(fp); return 0;

}

void firstUse() /*Necesitas ingresar una contraseña por primera vez*/

{

ARCHIVO *fp;

int i;

> char passwd[PSDLEN 1];

char checkPsd[PSDLEN 1]

if((fp = fopen("psd.dat", "wb")) == NULL )

{

printf("¡Error al crear contraseña!\n");

exit(1); p>

while(1)

{

printf("Ingrese la contraseña: "

inputPsd(contraseña

);

printf("\nPor favor ingrese la contraseña nuevamente: ");

inputPsd(checkPsd

if(!strcmp(passwd, checkPsd))

{

break;

}

printf("\n¡compruebe el error de contraseña! \n"); >

fwrite(contraseña, tamañode(char), PSDLEN, fp

fclose(fp);

}

void login() / *Comprueba la contraseña e inicia sesión*/

{

ARCHIVO *fp

int i, num = 3

char; passwd [PSDLEN 1];

char checkPsd[PSDLEN 1];

if((fp = fopen("psd.dat", "rb")) == NULL)< / p>

{

puts("Error al abrir psd.dat");

exit(1); p > fread(contraseña, tamañode(char), PSDLEN, fp);

fclose(fp>

contraseña[PSDLEN] = '\0'; p > printf("Ingrese la contraseña para iniciar sesión");

while(num)

{

printf("tienes d oportunidades de llorar:\ n ", num);

inputPsd(checkPsd);

if(!strcmp(passwd, checkPsd))

{

break ;

}

puts("\nerror de contraseña,

Por favor ingrese nuevamente");

num--;

}

if(!num)

{

puts("Presione cualquier tecla para salir...");

getch();

exit(0); >

else

{

puts("\n--------\n¡Bienvenido!\n--------\n") ;

}

}

void main()

{

if(checkFirst())

{

primerUso();

}

else

iniciar sesión(); p> getch();

}