/*Auto to programma diabazei ena arxeio A1 kai to kryptografei*/
/*me mia lexei kleidi se ena arxeio B1,fysika to programma dinei*/
/*thn dinatothta apokryptografhseis.H kryptografhsh ginetai me XOR*/
#include
#include
typedef struct nodetyp { char info; struct nodetyp *next;} nodetype;
main()
{
char a1;
char i,e,i1,data;
nodetype *head,*key;
int n,n1;
FILE*fp;
FILE*np;
do
{
printf("ƒà©œ «¦ ¡¢œ ›
«žª ¡¨¬§«¦š¨˜ž©œ ª,«œ¢œ ੜ
£œ '*':");
data=getchar();
while (data!='*')
{
key=(nodetype *)malloc(sizeof(nodetype));
key->info=data;
key->next=head;
head=key;
data=getchar();
}
putchar('\n');
printf("‚ ˜ ¡¨¬§«¦š¨˜ž©œ
'k',š ˜ ˜§¦¡¨¬§«¦š¨˜ž©œ
'a':");
scanf("\n%c",&e);
if (e=='k')
{
fp=fopen("A1","r");
np=fopen("B1","w");
n1=fscanf(fp,"%c",&i1);
while ((n1!=EOF) && (key!=NULL))
{
key=head;
fprintf(np,"%c",i1^(key->info));
key=key->next;
n1=fscanf(fp,"%c",&i1);
}
fclose(np);
fclose(fp);
}
else
if (e=='a')
{
np=fopen("B1","r");
n=fscanf(np,"%c",&i);
while ((n!=EOF)&&(key!=NULL))
{
key=head;
printf("%c",i^(key->info));
key=key->next;
n=fscanf(np,"%c",&i);
}
fclose(np);
}
printf("‚ ˜ ¤˜ ©«˜£˜«ž©œ ª
§˜«˜ 'e'");
scanf("\n%c",&a1);
}
while (a1!='e');
}