06-12-2003, 04:50 PM
I don't know anything about encryption, but I think this is a pretty cool challenge. I wrote this code on a whim; I don't expect it to earn me any points, but it is kinda fun watching the text string turn to garbage and then back!
*peace*
Meg.
Code:
tt = 1000
'*** ^^ CHANGE THIS VALUE TO AFFECT SPEED ^^ ***
CLS
LINE INPUT "Enter string to encrypt: ", i$
'******************* ENCRYPT ********************
LOCATE 3, 1: PRINT i$
FOR x% = 1 TO LEN(i$)
IF x% > 1 THEN pre$ = MID$(i$, x% - 1, 1) ELSE pre$ = " "
IF x% < LEN(i$) THEN aft$ = MID$(i$, x% + 1, 1) ELSE aft$ = " "
k% = (ASC(pre$) + ASC(aft$)) \ 2
k% = k% + x%
n% = ASC(MID$(i$, x%, 1))
n% = n% + k%
DO
IF n% > 126 THEN n% = n% - 95
LOOP UNTIL n% < 127
i$ = LEFT$(i$, x% - 1) + CHR$(n%) + RIGHT$(i$, LEN(i$) - x%)
FOR t = 1 TO tt
LOCATE 3, x%: PRINT CHR$(INT(RND * 95) + 32)
NEXT t
LOCATE 3, 1: PRINT i$; k%
NEXT x%
LOCATE 5, 1: PRINT "Encrypted string: "; i$
'****************** UNENCRYPT *******************
LOCATE 7, 1: PRINT i$
FOR x% = LEN(i$) TO 1 STEP -1
IF x% > 1 THEN pre$ = MID$(i$, x% - 1, 1) ELSE pre$ = " "
IF x% < LEN(i$) THEN aft$ = MID$(i$, x% + 1, 1) ELSE aft$ = " "
k% = (ASC(pre$) + ASC(aft$)) \ 2
k% = k% + x%
n% = ASC(MID$(i$, x%, 1))
n% = n% - k%
DO
IF n% < 32 THEN n% = n% + 95
LOOP UNTIL n% > 31
i$ = LEFT$(i$, x% - 1) + CHR$(n%) + RIGHT$(i$, LEN(i$) - x%)
FOR t = 1 TO tt
LOCATE 7, x%: PRINT CHR$(INT(RND * 95) + 32)
NEXT t
LOCATE 7, 1: PRINT i$; k%
NEXT x%
LOCATE 9, 1: PRINT "Unencrypted string: "; i$
*peace*
Meg.