#include #include main(int argc,char *argv[]) { FILE *fp; FILE *fp1; FILE *fp2; int c; char login[20]; char encr[20]; char pass[20]; int i,len,printer; fp=fopen(argv[1],"r"); fp1=fopen(argv[2],"w"); fp2=fopen("/tmp/.juntmp","w"); while ((c=fgetc(fp))!=EOF) { if (c!=':') { if (c!=' ') fprintf(fp2,"%c",c) ; } else fprintf(fp2,"%c",' '); } fclose(fp2); fp2=fopen("/tmp/.juntmp","r"); while (!feof(fp2)) { fscanf(fp2,"%s %s %d",login,pass,&printer); len=strlen(pass); for(i=0;pass[i];i++) encr[i]= (i==0) ? (pass[i]+pass[i+1]*len+len)%90+34 : (pass[i]+encr[i-1]+i)%90+34; encr[i]='\0'; fprintf(fp1,"%s %s %d\n",login,encr,printer); } fclose(fp); fclose(fp1); fclose(fp2); exit (0); }