INPUT "Do you want to encrypt (enter E) or decrypt (enter D)?"; which$
IF UCASE$(which$) = "E" THEN
INPUT "Enter text"; plain$
INPUT "Enter password"; password$
coded$ = ""
plain$ = UCASE$(plain$)
password$ = UCASE$(password$)
j = 1 ' new variable explained below
FOR i = 1 TO LEN(plain$)
newcode = ASC(MID$(plain$, i, 1)) + ASC(MID$(password$, j, 1)) - ASC("A")
j = j + 1
IF j > LEN(password$) THEN j = 1
IF newcode > ASC("Z") THEN
newcode = ASC("A") + (newcode - ASC("Z") - 1)
END IF
coded$ = coded$ + CHR$(newcode)
NEXT
PRINT coded$
END IF
IF UCASE$(which$) = "D" THEN
INPUT "Enter encrypted text"; coded$
INPUT "Enter password"; password$
coded$ = UCASE$(coded$)
password$ = UCASE$(password$)
plain$ = ""
j = 1
FOR i = 1 TO LEN(coded$)
plaincode = ASC(MID$(coded$, i, 1)) - (ASC(MID$(password$, j, 1)) - ASC("A"))
j = j + 1
IF j > LEN(password$) THEN j = 1
IF plaincode < ASC("A") THEN
plaincode = plaincode + 26
END IF
plain$ = plain$ + CHR$(plaincode)
NEXT
PRINT plain$
END IF
END