home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
01
/
ami046a.txt
< prev
next >
Wrap
Text File
|
1997-04-06
|
2KB
|
179 lines
************ UWAGA PROSZË PAMIËTAÊ ABY NIE ROBIÊ "NISKICH" APOSTROFÓW I
CUDZYSÎOWÓW ************
<l>' (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