23 lines
586 B
Plaintext
23 lines
586 B
Plaintext
plaintext$ = "Pack my box with five dozen liquor jugs"
|
|
PRINT plaintext$
|
|
|
|
key% = RND(25)
|
|
cyphertext$ = FNcaesar(plaintext$, key%)
|
|
PRINT cyphertext$
|
|
|
|
decyphered$ = FNcaesar(cyphertext$, 26-key%)
|
|
PRINT decyphered$
|
|
|
|
END
|
|
|
|
DEF FNcaesar(text$, key%)
|
|
LOCAL I%, C%
|
|
FOR I% = 1 TO LEN(text$)
|
|
C% = ASC(MID$(text$,I%))
|
|
IF (C% AND &1F) >= 1 AND (C% AND &1F) <= 26 THEN
|
|
C% = (C% AND &E0) OR (((C% AND &1F) + key% - 1) MOD 26 + 1)
|
|
MID$(text$, I%, 1) = CHR$(C%)
|
|
ENDIF
|
|
NEXT
|
|
= text$
|