ホーム開発者ツール / パスワード生成

パスワード生成ツール

長さと文字種を選ぶだけで、安全で強力なパスワードをその場で生成します。

使い方と安全性について

パスワードの長さ(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など)。定期変更を強制すると、単純で覚えやすいパスワードの使い回しにつながりやすいためです。