#include #include main(int argc,char *argv[]) { char encr[10]; int i,len,done=0,times=0; int nologin=0; char login[30]; char log[30]; char passwd[10]; char *pass; FILE *fp; while (times<3 && !done) { fp=fopen(argv[1],"r"); printf("Login:"); scanf("%s",log); pass=getpass("Password:"); do { if (feof(fp)) {nologin=1;break;}; fscanf(fp,"%s",login); fscanf(fp,"%s",passwd); } while (strcmp(login,log)); if (nologin) printf("LOGIN NOT FOUND\n"); else { len=strlen(pass); for(i=0;pass[i];i++) encr[i]= (i==0) ? (pass[i]+pass[i+1]*len+len)%90+32 : (pass[i]+encr[i-1]+i)%90+32; encr[i]='\0'; if (strcmp(passwd,encr)==0) {printf("OK\n");done=1;} else printf("Password Incorrect\n"); } times++; } }