#include #include #include void encryption(char *name,int key); void decryption(char *name,int key); void clr(); int main() { char *name=(char*)malloc(20*sizeof(char)); int choice; int key; do { clr(); printf("1.Encrypt File\n"); printf("2.Decrypt File\n"); printf("3.Encryption/Decryption key\n"); scanf("%d",&choice); if(choice==1) { clr(); encryption(name,key); } else if(choice==2) { clr(); decryption(name,key); } else if(choice==3) { clr(); printf("key : "); scanf("%d",&key); main(); } } while((choice!=1) && (choice!=2) && (choice!=3)); free(name); } void encryption(char *name,int key) { FILE *ein; FILE *eout; int einBuffer; ein=NULL; while(ein==NULL) { printf("Enter the filename...\n"); scanf("%s",name); ein=fopen(name,"r"); if(ein!=NULL) { eout=fopen("tmp_encrypted","w"); while((feof(ein))==0) { einBuffer=fgetc(ein); einBuffer^=key; fprintf(eout,"%c",einBuffer); } } else { printf("Can't open file...\n"); } } fclose(ein); fclose(eout); remove(name); rename("tmp_encrypted",name); main(); } void decryption(char *name,int key) { FILE *din; FILE *dout; int dinBuffer; din=NULL; while(din==NULL) { printf("Enter the filename...\n"); scanf("%s",name); din=fopen(name,"r"); if(din!=NULL) { dout=fopen("tmp_decrypted","w"); while((feof(din))==0) { dinBuffer=fgetc(din); dinBuffer^=key; fprintf(dout,"%c",dinBuffer); } } else { printf("Can't open file...\n"); } } fclose(din); fclose(dout); remove(name); rename("tmp_decrypted",name); main(); } void clr() { system("cls"); }