« ワルナスビ | トップページ | トウモロコシの網かけ »

2019年7月 3日 (水)

SJISの暗号化

SJISのテキストファイルを暗号化したい。
今回の目的は、テキストファイルを読みにくくしたいだけで、努力すれば読めるようにしたい。
目標とする機能をまとめてみよう。

  • テキストファイルの状態は維持する。
  • 努力すればなんとか読める。
  • 暗号化を二度繰り返すと元に戻せる。

SJISの文字コードは、1文字が2bytesで、0x8100-0x9fffに配置されている。
ただ単に暗号化したいなら、上位バイトを判定してから、下位バイトの最下位ビットを反転することにした。
さくさくと作ってみたが、エディタで開くと文字化けしている文字がある。
変換結果が0x40未満、あるいは0x7fになると、SJISでは存在しない文字コードになるからだ。

やばそうな文字を丁寧に判定するif命令の山を築き、暗号化処理を書いてみた。
クイズの問題をカンニングしたい人に、内容は見せてもいいけど読みにくいよって仕様だ。
暗号化した結果はこんな感じになる。

quiz {
ぅゎょり74ジルースぢでとをにIC?
{レシツグIC, ケーデIC}, ダィポIC, ポィゴヲ, EEPROM, CPLD,
}
quiz {
555ど名は付ぎIC、げろの何?
ダィポIC, レシツグIC, ケーデIC, ポィゴヲ, EEPROM, CPLD,
}
quiz {
8251どぅぉぱ何は型番どざで有名
{ジルァリ通信IC}, 浮動小数点演算, USBジルァリ, デヨヲシズダ, OPァヲヘ, ダィポIC
}

ちょうどいい暗号化である。
今回、半角文字や漢字は暗号化しなかったが、半角文字や漢字の1/4くらいは暗号化した方が楽しいかもしれない。
一応、資料として置いておく。→SJISの文字コード表

ひどいね。

« ワルナスビ | トップページ | トウモロコシの網かけ »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ワルナスビ | トップページ | トウモロコシの網かけ »