見出し画像

【JavaScript】文字を置換して暗号を作成(例:hello⇔khddb)

はじめに

文字(英語数字etc)」を置換して「暗号」を作成するJavaScriptです。

《 もくじ 》
置換の例
JavaScriptコード[暗号化(encode)]
JavaScriptコード[復号化(decode)]

■ 置換の例

《 暗号化例(encode) 》
「this-is-a-test-code」 を 「ck30-30-n-ch0c-xbsh」 に置換。
《 復号化例(decode) 》
「ck30-30-n-ch0c-xbsh」 を 「this-is-a-test-code」 に置換。

■ JavaScriptコード[暗号化(encode)]

window.onload = function() {

// ** [入力] 置換したい文字列を入力
// ** [挿入] 1文字ずつ後ろに「,,」を挿入 ※置換した文字が再び置換されるのを防ぐ
let encode = "this-is-a-test-code".replace(/(.)/g, "$1\,\,");

// ** [設定] 置換前の文字セット&1文字ずつ後ろに「,,」を挿入&3文字の配列を作成
// ** [設定] 置換後の文字セット&1文字の配列を作成
let encode_bef = "abcdefghijklmnopqrstuvwxyz0123456789-".replace(/(.)/g, "$1\,\,").match(/.{3}/g);
let encode_aft = "n2xsh6vk3qldugboz80cm4tdj9a1pywif75r-".match(/.{1}/g);

	// ** [置換] 「置換したい文字列」の文字を「置換前後の文字セット」の通りに置き換える
	for (let i = 0; i < encode_bef.length; i++){
	encode = encode.replace(new RegExp(encode_bef[i], "g"), encode_aft[i]);
	}

// ** [表示] WEBブラウザのコンソール画面に結果を表示
console.log(encode);

};

■ JavaScriptコード[復号化(decode)]

window.onload = function() {

// ** [取得] 置換したい文字列
// ** [挿入] 1文字ずつ後ろに「,,」を挿入 ※置換した文字が再び置換されるのを防ぐ
let decode = "ck30-30-n-ch0c-xbsh".replace(/(.)/g, "$1\,\,");

// ** [設定] 置換前の文字セット&1文字ずつ後ろに「,,」を挿入&3文字の配列を作成
// ** [設定] 置換後の文字セット&1文字の配列を作成
let decode_bef = "n2xsh6vk3qldugboz80cm4tdj9a1pywif75r-".replace(/(.)/g, "$1\,\,").match(/.{3}/g);
let decode_aft = "abcdefghijklmnopqrstuvwxyz0123456789-".match(/.{1}/g);

	// ** [置換] 「置換したい文字列」の文字を「置換前後の文字セット」の通りに置き換える
	for (let i = 0; i < decode_bef.length; i++){
	decode = decode.replace(new RegExp(decode_bef[i], "g"), decode_aft[i]);
	}

// ** [表示] WEBブラウザのコンソール画面に結果を表示
console.log(decode);

};

#私の作品紹介 / #プログラミング初心者

(text)

◇  ◇  ◇

《 過去に作成したnoteの記事リスト 》
https://note.com/text_sakura/n/na2cd73291236

《 記事についてのお問い合わせ先 》
text.sakura.note@gmail.com
添付ファイルが含まれるメールは受け取ることができません。
テキストのみでお願いいたします。

この記事が参加している募集

私の作品紹介

この記事が気に入ったらサポートをしてみませんか?