パスワード生成
crypto.getRandomValues を使っています。ブラウザが暗号鍵の生成に使うのと同じ OS レベルの乱数で、予測可能な Math.random は使いません。パスワードがこのページから出ることはありません。
すべてブラウザ内で処理されます。送信も保存もしていません。
長いほど強くなります。1 文字増えるごとに総当たりの手間が倍増します。16 文字以上が目安です。
よくある質問
なぜ Math.random ではだめなのですか?
予測可能な疑似乱数だからです。それで作ったパスワードは、少数の出力から再現される可能性があります。ここでは暗号学的乱数を使っています。
Web サイトでパスワードを生成して安全ですか?
そのサイトがローカルで動いている場合に限ります。確認方法は、ページを開いたあとネットワークを切っても動くかどうか。このページは切っても動き、記録も送信もしていません。
強いパスワードの条件は?
まず長さです。1 文字増えるごとに総当たりの手間が何倍にもなります。大文字・小文字・数字・記号を含む 16 文字で約 100 ビットのエントロピーです。