|
XOR(排他的論理和)を2度繰り返すと元に戻る性質を利用して
任意のファイルを暗号化します。
ここでは暗号化した時の拡張子をbinとしています。
OPTION CHARACTER BYTE
FILE GETOPENNAME F$,"任意ファイル|*.*"
IF F$="" THEN STOP
INPUT PROMPT "暗号・復号キー":KEY$
FILE GETSAVENAME G$,"保存ファイル|*.*"
IF G$="" THEN STOP
IF POS(G$,".")=0 THEN LET G$=G$&".bin"
OPEN #1:NAME F$
OPEN #2:NAME G$
DO
CHARACTER INPUT #1,IF MISSING THEN EXIT DO:A$
LET J=MOD(J,LEN(KEY$))+1
LET X$=CHR$(BITXOR(ORD(A$),ORD(KEY$(J:J))))
PRINT #2:X$;
LOOP
CLOSE #1
CLOSE #2
END
|
|