1 REM Ins{nd av J|rgen Hansen <5844> 1986-07-13 13.58.54 10 REM Kryptering av filer - f|r alla ABC-datorer - version 2.2 20 REM 30 REM Variabelf|rteckning: 40 REM T=Tal I=Infil($) U=Utfil($) S=Slask($) D=Dummy($) 50 REM 60 REM Testad p} ABC 806. Skall fungera emot alla ABC-datorer. 70 REM Fungerar endast p} listsparade programfiler samt textfiler. 80 REM 90 REM Mest f|r textfiler. Om man vill skydda ett program lite mer s} b|r 100 REM man inte ha en etta som f|rsta programsiffra. 110 REM 120 I=1 : U=9 : DIM I$=500 : DIM U$=500 : DIM S$=500 130 ; CHR$(12) 'Kryptering av filer. Du l}ser/|ppnar filer med ett tal som nyckel.' 140 ; 'Filen kan endast dekrypteras av samma tal!!!' 150 ; : ; 'Ange tal '; : ON ERROR GOTO 150 : INPUT T 160 ; : ; 'Ange infil '; : ON ERROR GOTO 160 : INPUT I$ 170 OPEN I$ AS FILE I 180 ; 'Ange utfil '; : ON ERROR GOTO 180 : INPUT U$ 190 PREPARE U$ AS FILE U 200 ; : ; 'Kryptering/Dekryptering (K/D) ? '; : GET S$ 210 IF S$='D' OR S$='d' THEN D=1 : GOTO 240 220 IF S$='K' OR S$='k' THEN D=0 : GOTO 240 230 ; : ; 'Fel svar!' : GOTO 200 240 ON ERROR GOTO 550 250 ; : IF D=0 THEN ; 'Kryptering p}g}r!'; ELSE ; 'Dekryptering p}g}r!'; 260 IF D=0 THEN GOTO 270 ELSE GOTO 360 270 REM *** Kryptering *** 280 ON ERROR GOTO 350 : U$='' 290 INPUT LINE #1,I$ 300 FOR S=1 TO LEN(I$) 310 U$=U$+NUM$(T+ASC(MID$(I$,S,1)))+CHR$(44) 320 J=J+1 : IF J=10 THEN J=0 : ; #U,LEFT$(U$,LEN(U$)-1) : U$='' 330 NEXT S 340 GOTO 290 350 ; #U,U$ : GOTO 550 360 REM *** Dekryptering *** 370 ON ERROR GOTO 470 380 PREPARE 'XXXXXXXX.XXX' AS FILE 5 390 INPUT LINE #I,S$ 400 FOR S=1 TO LEN(S$)-2 410 J=ASC(MID$(S$,S,1)) 420 IF J=44 THEN J=13 430 ; #5,CHR$(J); 440 NEXT S 450 ; #5,CHR$(13); 460 GOTO 390 470 CLOSE 5 : CLOSE I : OPEN 'XXXXXXXX.XXX' AS FILE I 480 ON ERROR GOTO 540 490 U$='' 500 INPUT #I,S 510 U$=U$+CHR$(S-T) 520 IF S=10+T THEN ; #U,U$ : U$='' 530 GOTO 500 540 KILL 'XXXXXXXX.XXX' 550 CLOSE I : CLOSE U : ; : ; 'KLART!' : ; 560 ; 'Vill du forts{tta (N) ? '; : GET S$ 570 IF S$='J' OR S$='j' THEN 130 580 END