※ 文字種を1つ以上選んでください。
使い方と安全性について
パスワードの長さ(4〜64文字)と、使用する文字種(大文字・小文字・数字・記号)を選んで「パスワードを生成」を押すと、ランダムなパスワードが作られます。設定を変えると自動で作り直され、「コピー」ボタンでクリップボードにコピーできます。
生成にはブラウザの暗号学的乱数(crypto.getRandomValues)を使用しています。生成処理はすべてお使いのブラウザ内で完結し、生成したパスワードがサーバーに送信されることはありません。
安全性を高めるには、できるだけ長く(12文字以上を推奨)、複数の文字種を組み合わせてください。同じパスワードを複数のサービスで使い回さないこと、パスワード管理ツールでの保管もおすすめします。
安全なパスワードの条件 — 長さが最重要
パスワードの強度を決める最大の要素は長さです。米国国立標準技術研究所(NIST)のガイドライン「SP 800-63B」でも、記号の使用などを細かく強制するより、十分に長いパスワードやパスフレーズを使うことが推奨されています。また同ガイドラインでは、定期的な変更の強制は、かえって単純で弱いパスワードにつながりやすいとして非推奨に変わりました。現在は「漏えいの兆候があったときに変更する」という考え方が主流です。
長さ・文字種と強度の目安
| 設定例 | 使用文字 | 組み合わせ数(概算) |
|---|---|---|
| 8文字・小文字のみ | 26種 | 約2×1011通り |
| 12文字・英大小+数字 | 62種 | 約3.2×1021通り |
| 12文字・4種すべて | 85種 | 約1.4×1023通り |
| 16文字・4種すべて | 85種 | 約7×1030通り |
長さを1文字増やすごとに、組み合わせ数は使用文字数のぶん(26〜85倍)掛け算で増えます。文字種を増やすことにも効果はありますが、総当たり攻撃への耐性を大きく高めるのは、まず長くすることです。
本ツールの生成の仕組み
乱数には Math.random() ではなく、予測が困難な暗号学的乱数 crypto.getRandomValues を使用しています。また、チェックした文字種がそれぞれ必ず1文字以上含まれるよう先に1文字ずつ確保し、残りを選択した全文字からランダムに埋めたうえで、全体をシャッフル(Fisher–Yates法)しています。このため「特定の文字種が先頭に固まる」といった位置の偏りはありません。記号として使われるのは !@#$%^&*()-_=+[]{};:,.? の23種類です。
使い回しを避け、管理ツールと二段階認証を
どれほど強力なパスワードでも、複数のサービスで使い回すと、どこか1か所の漏えいをきっかけに他のアカウントへ不正ログインされる「パスワードリスト攻撃」の被害につながります。サービスごとに異なるパスワードを生成し、パスワード管理ツール(パスワードマネージャー)で保管する運用が現実的です。あわせて、重要なアカウントには二段階認証(多要素認証)を設定しておくと、万一パスワードが漏れた場合の被害を大きく抑えられます。
よくある質問
生成したパスワードは外部に送信されますか?
いいえ。生成はすべてブラウザ内(クライアントサイド)で行われ、パスワードがサーバーへ送信・保存されることはありません。
どのくらいの長さにすべきですか?
一般的に12文字以上が推奨されます。重要なアカウントでは16文字以上+複数の文字種の組み合わせが安心です。
本当にランダムですか?
はい。ブラウザの暗号学的乱数生成器(crypto.getRandomValues)を使用しており、予測されにくい安全な乱数で生成しています。選んだ文字種は必ず1文字以上含まれ、位置はシャッフルにより偏りなく決まります。
記号が使えないサイトではどうすればよいですか?
「記号」のチェックを外して生成し、そのぶん長さを16〜20文字などに伸ばしてください。強度は文字種の数より長さの影響が大きいため、記号なしでも長くすれば十分な強度を確保できます。
パスワードは定期的に変更すべきですか?
以前は定期変更が推奨されていましたが、現在は「漏えいの疑いがあるときに変更すればよい」という考え方が主流です(NIST SP 800-63Bなど)。定期変更を強制すると、単純で覚えやすいパスワードの使い回しにつながりやすいためです。