10-17-2025, 12:01 AM
(This post was last modified: 10-17-2025, 12:02 AM by ahenry3068.)
A better way to do that is with a Seeded Random value and XOR ing the bytes. It's pretty simple and the Random Number seed is the required key for decryption
Code: (Select All)
Print
Print "ENTER A STRING TO ENCRYPT"
Line Input X$
Print
Print "STARTING STRING"
Print X$
Print
GETSEED:
Input "ENTER A SEED VALUE"; SEED
If SEED = 0 Then Print "INVALID SEED TRY AGAIN": Print: GoTo GETSEED
If SEED > 0 Then SEED = SEED * -1
X = Rnd(SEED)
CRYPT$ = ""
For I = 1 To Len(X$)
MASK = Int(Rnd(1) * 255) + 1
C$ = Mid$(X$, I, 1)
C = Asc(C$)
CRYPTBYTE = (C Or MASK) And Not (C And MASK): Rem XOR
CRYPT$ = CRYPT$ + Chr$(CRYPTBYTE)
Next
Print "ENCRYPTED"
Print
Print CRYPT$
Print
X$ = ""
GETSEED2:
Input "ENTER THE SAME SEED TO DECRYPT"; NEWSEED
If NEWSEED = 0 Then Print "INVALID SEED TRY AGAIN": Print: GoTo GETSEED2
If NEWSEED > 0 Then NEWSEED = NEWSEED * -1
X = Rnd(NEWSEED)
For I = 1 To Len(CRYPT$)
MASK = Int(Rnd(1) * 255) + 1
C$ = Mid$(CRYPT$, I, 1)
C = Asc(C$)
CRYPTBYTE = (C Or MASK) And Not (C And MASK): Rem XOR
X$ = X$ + Chr$(CRYPTBYTE)
Next
Print "DECRYPTED"
Print
Print X$
Print

