************ UWAGA PROSZĖ PAMIĖTAŹ ABY NIE ROBIŹ "NISKICH" APOSTROFÓW I CUDZYSĪOWÓW ************ ' (De)Szyfrowanie(C) 1994 By Arni Fusik ' Global BANK BANK=99 Repeat Repeat Print Print " Wybieraj: " Print Print " 1...Szyfrowanie pliku" Print Print " 2...Rozszyfrowanie pliku" Print Input " Co wybierasz? ";WYBOR Until WYBOR=1 or WYBOR=2 Print If WYBOR=1 ODCZYT_PLIKU SZYFROWANIE ZAPIS_PLIKU Else ODCZYT_PLIKU DESZYFROWANIE ZAPIS_PLIKU End If Print " Operacja zakoļczona" Print Input " Jeszcze raz [T/N]? ";ODP$ Until Upper$(ODP$)<>"T" ' Procedure ODCZYT_PLIKU NAZWA$=Fsel$("*.TXT","","Odczyt pliku:") Open In 1,NAZWA$ Reserve As Work BANK,Lof(1) Close 1 Print " Odczyt pliku: ";NAZWA$ Bload NAZWA$,Start(BANK) End Proc Procedure ZAPIS_PLIKU NAZWA$=Fsel$("*.TXT","","Zapis pliku:") Print " Zapis pliku: ";NAZWA$ Bsave NAZWA$,Start(BANK) To Start(BANK)+Length(BANK) Erase BANK End Proc Procedure SZYFROWANIE Print " Proces szyfrowania" '------------------------- kolejnoōź bajtów w pliku For I=Start(BANK) To Start(BANK)+Length(BANK)-2 Step 2 X=Peek(I) Poke I,Peek(I+1) Poke I+1,X Next '------------------------- negacja bitów For I=Start(BANK) To Start(BANK)+Length(BANK) Step 3 X=Peek(I) Bchg 2,X Bchg 5,X Poke I,X Next '------------------------- rotacja For I=Start(BANK) To Start(BANK)+Length(BANK) X=Peek(I) Rol.b 1,X Poke I,X Next End Proc Procedure DESZYFROWANIE Print " Proces rozszyfrowania" '------------------------- rotacja For I=Start(BANK) To Start(BANK)+Length(BANK) X=Peek(I) Ror.b 1,X Poke I,X Next '------------------------- negacja bitów For I=Start(BANK) To Start(BANK)+Length(BANK) Step 3 X=Peek(I) Bchg 2,X Bchg 5,X Poke I,X Next '------------------------- kolejnoōź bajtów w pliku For I=Start(BANK) To Start(BANK)+Length(BANK)-2 Step 2 X=Peek(I) Poke I,Peek(I+1) Poke I+1,X Next End Proc