表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

184/210

暗号化(のようなもの)

シナリオ等の暗号化について調べています。


方向性と注意点はおおよそつかめた気がします。


以下、暗号化(の一例)のざっくりした説明です。


まずTextEncoderと言うものを使うと文字列を8ビットの数値(0~255)の配列にする事が出来ます。


const encoder = new TextEncoder();

const arBunsyo = encoder.encode('これはウサギです');


元の文字列:これはウサギです

元の文字列数値配列(arBunsyo):

227,129,147,227,130,140,227,129,175,227,130,166,227,130,181,227,130,174,227,129,167,227,129,153


この数値の配列に対してTextDecoderと言うものを使えば、元の文章が作れます。


let utf8decoder = new TextDecoder();

const Fukugou = utf8decoder.decode(arBunsyo);


復号化された文字列:これはウサギです


つまり

文字列 → 数値の配列 → 元の文字列

と言う変換が出来ます。


パスワードも同じように8ビットの数値(0~255)の配列にすると、例えば


パスワード:’ぱすわーど?’

パスワード数値配列:

227,129,177,227,129,153,227,130,143,227,131,188,227,129,169,239,188,159




簡単な暗号化としては、元の文字列の数字配列にパスワードの数字配列を足して(256を超えるなら256を引いて)やれば、暗号化したと言えるでしょう。(パスワード配列の方が短いのが一般的でしょうが、順番に何度も使う)



例えば以下のような数字の配列になります。


strCrypt=[198,2,68,198,3,37,198,3,62,198,5,98,198,3,94,210,62,77,198,2,88,198,2,50]


この配列を文字列にして、パスワードの数字を引いて(0以下なら256を足す)utf8decoder.decode(strCrypt)やれば復号化できます。



ただし、この場合の暗号化文字列は


�D�%�>�b�^�>M�X�2


となり、文字化けします。


文字化けしても復号化できれば問題はないのですが、うまく行くとは限らないので数字配列(これなら文字化けの要素は無い)を元に、文字化けしないような暗号化文字列を作ればうまく行きそうですね。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ