■暗号化(バイナリ方法) 注意:HSP2.55以前用です
;以下ソースです。(暗号化)======================================================= sdim data,2500 datasize=0 src=0 dst=0 data="暗号化したい文章orデータをここに読み込みます" dialog "暗号化\n元の文章:"+data strlen datasize,data ;dataのサイズを調べる repeat datasize,0 peek src,data,cnt ;変数dataのcntのところをsrcへ読み込む ;暗号化アルゴリズム========= dst=($12+(src^dst))^$b6 ;計算式(元の文>暗号) dst=dst+256&255 ;dstが255をオーバーしないようにする。 ;========================= poke data,cnt,dst ;変数dstを変数dataのcntのところへ書き込む loop dialog "暗号化\n暗号化された文章:"+data ;復元する。==================================================================== datasize=0 src=0 dst=0 dst2=0 ;暗号化の復元なので前に暗号化したdataを使用 dialog "復元\n暗号化されている文章:"+data strlen datasize,data ;dataのサイズを調べる repeat datasize,0 peek dst,data,cnt ;変数dataのcntのところをdstへ読み込む ;暗号化アルゴリズム========= src=((dst^$b6)-$12)^dst2 ;計算式(暗号>元の文) dst2=dst scr=scr+256&255 ;scrが255をオーバーしないようにする。 ;========================= poke data,cnt,src ;変数srcを変数dataのcntのところへ書き込む loop dialog "復元\n復元された文章:"+data stop |
解説:
一般的によくつかわれている暗号化。実はHSPでも暗号化はできます。
簡易暗号化ですがふつうに見ただけでは分からないでしょう。
(解析などの努力をしたら別ですよ。)
なお、暗号化によくつかわれている「A^B=C」以外にも「A&B=C」や「A|B=C」がHSPではできますよ〜。(^^♪
&とか|とかは、詳しくは他のサイトさんへ...
なお、これは変数dataの中にある文字列を変数dataへ暗号化します。
(バイナリで書き込むため暗号化後のサイズは暗号化前と同じです。)
(暗号化アルゴリズムのところはピンク色にしています。)