参考までに、暗号化モジュール作ってみました。ヌル文字対策しているので
ファイルの読み書きにも対応しています。
#module
//暗号化 (STR)暗号化する変数,(STR)鍵
#deffunc Ascrypt_enc var p1,str p2, local s1, local s2, local s3, local s4, local s5, local s6, local s7, local s8, local s9
//キーの数値化(配列変数)
s1=p2 //キーの文字列が代入される
s2=strlen(s1) //キーの文字数が代入される
s3=strlen(p1)
randomize s3 //p1の文字数値で乱数を初期化
repeat
if s4=1:s4=-1:else:s4=1 //+-
//世界のなべあつ仕様
if cnt\3=0{
s5(cnt)=0xff
continue
}
if cnt\5=0{
s5(cnt)=0x00
continue
}
s5(cnt)=peek(s1, s6)*s4^rnd(s2) //キー配列
s7+=s5(cnt) //乱数値初期化用数値
s6+
if s6>=s2:break
loop
randomize s7 //乱数の初期化
//s2, s3, s4, s5
//暗号化
s1=length(s5)
s7=0
s8=0
repeat s3
if s4=1:s4=-1:else:s4=1 //+-
s6=peek(p1,cnt)+(rnd(rnd(s3)+1)+s5(s7))*s4
poke p1, cnt, s6
//ヌル文字を除去
if peek(p1,cnt)=0x00{
poke p1, cnt, 0xff
s8(s9)=cnt
s9+
}
s7+
if s7>=s1:s7=0
loop
randomize(s2*s2)
//s2,s8,s3
s1=length(s8)
s6=0
//ヌル文字の位置情報を付加する
memexpand p1, s3+s1*8
repeat s1
s4=","+strf("%x",s8(cnt))
s5=strlen(s4)
repeat s5-1,1
poke s4, cnt, peek(s4, cnt)+42+limit(s2*s2,0,150)
loop
memcpy p1, s4, s5, s3+s6
s6+=s5
loop
poke p1,s3+s6,0x00 //終端
return
//復号化 (STR)復号化する変数,(STR)鍵
#deffunc Ascrypt_dec var p1,str p2, local s1, local s2, local s3, local s4, local s5, local s6, local s7, local s8
//キーの数値化(配列変数)
s1=p2 //キーの文字列が代入される
s2=strlen(s1) //キーの文字数が代入される
//s1,s2
randomize(s2*s2)
//ヌル文字を元に戻す
s3=strlen(p1)
repeat
if peek(p1, s3-cnt)=','{
s5=0
getstr s4, p1, s3-cnt+1, ',',8
s6=strsize
dim s7,s6
repeat s6
poke s4, cnt, peek(s4, cnt)-42-limit(s2*s2,0,150)
loop
memset p1, 0x00, s6, s3-cnt
poke p1, int("$"+s4), 0x00
}
if s5=8{
s3=s3-cnt+8
break
}
s5+
loop
s6=0
s7=0
//s2, s3
randomize s3
repeat
if s4=1:s4=-1:else:s4=1 //+-
//世界のなべあつ
if cnt\3=0{
s5(cnt)=0xff
continue
}
if cnt\5=0{
s5(cnt)=0x00
continue
}
s5(cnt)=peek(s1, s6)*s4^rnd(s2) //キー配列
s7+=s5(cnt) //乱数値初期化用数値
s6+
if s6>=s2:break
loop
randomize s7 //乱数の初期化
//復号化
s1=length(s5)
s6=0
repeat s3
if s4=1:s4=-1:else:s4=1 //+-
s2=peek(p1,cnt)-(rnd(rnd(s3)+1)+s5(s6))*s4
poke p1, cnt, s2
s6+
if s6>=s1:s6=0
loop
return
#global
#if 1
font msgothic,12,1
notesel a
noteload dir_exe+"\\readme.txt"
objsize ginfo_winx,200
Ascrypt_enc a,"暗号キー"
mes "暗号化:"
mesbox a,,,5
Ascrypt_dec a,"暗号キー"
mes "復号化:"
mesbox a,,,5
#endif