JavaScriptを使ってパスワードを適当に作るサイトを作った。
指定した文字を使ってパスワードを適当に作ってくれます。文字の種類とパスワード文字数は変更できます。
動作イメージ
パスワード文字数は、デフォルト8文字です。起動時にすでにパスワードが生成されています。

パスワード文字数を100文字にした場合。

文字の種類は上のテキストボックスに入力すれば自由に追加できます。

JavaScript部分
main.js
/*
* パスワード用文字表示エリア
*/
var characters = null;
/*
* デフォルトのパスワード用文字
*/
var moji = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
/*
* パスワード生成関数
*/
function getPassword(){
// パスワード文字数取得(デフォルトは8文字)
moji = characters.value;
var length = Number(document.getElementById("length").value);
if(isNaN(length) || length == "" || length == 0) length = 8;
// パスワード生成
var passChar = "";
for(let i=0; i<length; i++){
passChar += moji[Math.floor(Math.random() * moji.length)];
}
// 生成したパスワードを表示
console.log(passChar);
document.getElementById("result").innerHTML = passChar;
}
/*
* 起動時の処理
*/
window.onload = function(){
// デフォルトのパスワード文字を表示
characters = document.getElementById("characters");
characters.innerHTML = moji;
// パスワード生成
getPassword();
};
処理のポイント
1.変数にパスワードに必要な文字をあらかじめ代入しておく。
var moji = “0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”;
2.文字配列の添え字を乱数で生成してパスワードを作成する
文字列の長さを表すlengthプロパティを利用して乱数範囲に利用する
Math.random() * moji.length
実際の乱数生成部分
// パスワード生成
var passChar = "";
for(let i=0; i<length; i++){
passChar += moji[Math.floor(Math.random() * moji.length)];
}


コメント