【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
※ 添付ファイルが含まれるメールは受け取ることができません。
※ テキストのみでお願いいたします。
いいなと思ったら応援しよう!
読んでくれてありがとうございます 😄 このnoteでは「トークテーマ一覧」「note記事テーマ一覧」「配信企画一覧」など、まとめ記事を中心に書いています ✏️ 役に立ちそうな記事がありましたら、自由にご利用ください ☕ 記事一覧は『サイトマップ』で見られます 📄