パスワード生成(長さ・文字種・紛らわしい文字除外)

長さ(8〜64)と文字種(英大小・数字・記号)を指定し、紛らわしい文字(0O1lI|)を除いた安全なパスワードを一度に5個生成。crypto.getRandomValuesの暗号乱数を使い、結果は送信せずブラウザ内だけで生成します。

生成したパスワードはこの端末(ブラウザ)内だけで作成され、サーバーへの送信・保存は一切行っていません。ページを開くたび、またはボタンを押すたびに新しい値になります。

使い方

  1. スライダーで長さ(8〜64文字)を決め、使う文字種(英大文字・英小文字・数字・記号)にチェックを入れる。
  2. 見分けにくい文字(0・O・1・l・I・|)を除きたい場合は「紛らわしい文字を除外する」をオンのままにする。手入力・電話口での読み合わせが多い用途で有効。
  3. 記号を独自の範囲に絞りたいとき(使えない記号があるシステム向けなど)は、記号セット欄に使いたい記号だけを入力する。
  4. 「5個生成しなおす」を押すと候補が5件表示される。気に入ったものをコピーボタンで控える。

仕組み・根拠

乱数生成には Math.random() ではなく crypto.getRandomValues()(Web Crypto API)を使っています。Math.random() は再現性や均一性の保証がなく、実装によっては予測可能なため、パスワードのような秘密情報の生成には向きません。また 乱数 % 文字種数 のような単純な剰余演算は、範囲の端で出現確率が偏る「剰余バイアス」を生みます。本ツールは 2^32 未満の余りを捨てる棄却法(rejection sampling)で、この偏りを避けています。

パスワード方針の考え方は NIST SP 800-63B を参考にしています。同ガイドラインは、定期的な強制変更や複雑さ要件(記号を必ず含めるなど)よりも、十分な長さを確保することを重視する方向を示しています。表示している「エントロピーの目安」は、文字種数の対数(log2)に長さを掛けた理論値で、実際の強度の参考値です。

現場の落とし穴:生成したパスワードをそのまま画面キャプチャやチャットに貼って共有すると、通信ログや画面共有先に平文で残ります。共有が必要な場合はパスワードマネージャーの共有機能など、平文が残らない経路を使ってください。本ツールの結果はネットワークに一切送信されませんが、コピー後の扱いは利用者側の責任になります。

よくある質問

Q. 生成したパスワードはどこかに保存されますか?

A. いいえ。生成・表示ともにブラウザ内の JavaScript だけで完結し、サーバーへの通信は発生しません。ページを閉じると値は残りません。

Q. すべての文字種のチェックを外すとどうなりますか?

A. 文字種が0になるためエラーを表示し、生成しません。少なくとも1種類は選んでください。

Q. 長さより選んだ文字種の数が多い場合は?

A. 各文字種を最低1文字ずつ含める仕様のため、長さが文字種の数より短いとエラーになります。長さを増やすか文字種を減らしてください。

関連ツール

最終更新・根拠の確認日: 2026-09-10 · カテゴリ: セキュリティ