【JavaScript】文字を置換して暗号を作成(例:hello⇔khddb)
はじめに
「文字(英語・数字etc)」を置換して「暗号」を作成するJavaScriptです。
■ 置換の例
《 暗号化例(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)
◇ ◇ ◇
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?