パスワードジェネレーター

暗号学的に安全なパスワードを生成。長さと文字セットをカスタマイズ、エントロピー計測付き。無料、ブラウザ内で処理。

  • ブラウザ内で処理
  • データはブラウザ外に出ません
  • 無料 · 登録不要

生成したパスワードがここに表示されます。

生成をクリック
詳しいガイドを読む 安全なパスワードの作り方:文字数・ランダム性・使い回しを数字で確かめる
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。

IPA の目安をこのツールの設定で確かめる

IPA の「日常における情報セキュリティ対策」は、「企業・組織」の利用者向けと「個人」向けの「パスワードの適切な設定と管理」で「大小英字、数字および記号を混在させて最低でも10文字にしてください。」と書いています(管理者向けの項では、「システム管理等で使用するパスワード」について同じ趣旨を述べています)。同じく IPA の「チョコっとプラスパスワード」は、「数字・英大文字・英小文字を組み合わせてできるだけ長い文字数(15桁程度)」で、より安全にしたい場合は記号を追加する、としています。この 2 つをそのままこのツールの設定にすると、強度表示は次のようになります。

目安このツールの設定強度表示
大小英字・数字・記号で最低 10 文字4 種類すべて、長さ 10普通 (65 bits)
数字・英大文字・英小文字で 15 桁程度記号を外す、長さ 15強い (89 bits)
(参考)このツールの既定値4 種類すべて、長さ 20とても強い (129 bits)

「最低でも10文字」はあくまで下限で、記号まで混ぜても強度表示は「普通」です。記号を使わない 15 文字のほうが、記号入りの 10 文字より 25 ビットほど強くなります。文字の種類を増やすより、長さを増やすほうが効くということです。生成するパスワードは毎回違いますが、強度表示の数字は長さと文字プールだけで決まるので、上の表と同じになります。

なお、4 種類すべてを選んでも、各文字種が必ず 1 文字以上入るわけではありません。長さ 10 だと、約 37.4% のパスワードはどれか 1 種類(多くは数字)を含みません。「4 種類を混在させること」をチェックするサイトでは、そのまま登録できないことがあります。そのときは「生成」を押し直すか、長さを 16 以上にしてください。

強度表示の計算方法

強度表示は、パスワードが「複雑そうに見えるか」を判定しているのではありません。選んだ文字プールから 1 文字ずつ同じ確率で選ぶので、作れるパスワードの数は「プールの文字数の長さ乗」で、ビット数は 長さ × log2(プールの文字数) です。5 段階の境界は固定で、40 ビット未満が「とても弱い」、40〜59 が「弱い」、60〜79 が「普通」、80〜99 が「強い」、100 以上が「とても強い」です。数字の後ろの単位はどの言語のページでも bits と表示します。

プールの文字数は、大文字 26、小文字 26、数字 10、記号 26 の合計です。4 種類すべてで 88 文字、そこから紛らわしい 0・O・l・1・I を除くと 83 文字になります。

記号が使えないサイトの場合

「半角英数字のみ」のように記号を受け付けないサイトでは、「記号」のチェックを外します。プールが 62 文字になり、1 文字あたりのビット数は約 6.46 から約 5.95 に下がりますが、数文字伸ばせば取り戻せます。

  • 英大文字・英小文字・数字、長さ 16:強い (95 bits)
  • 英大文字・英小文字・数字、長さ 20:とても強い (119 bits)。4 種類 16 文字(約 103 ビット)より強くなります。

「数字を含めてください」と言われることもあります。4 種類すべてを選んだ場合、数字が 1 文字も入らない確率は、長さ 20 で約 9%、長さ 12 で約 24% です。数字は 10 文字しかなく、4 種類の中でいちばん少ないため、欠けやすいのはほとんど数字です。

制限

  • 長さは 4〜128。範囲外の値は 4 または 128 に補正します。0 や空欄の場合は 20 になります。
  • 文字種ごとの「1 文字以上」は保証しません。文字は独立に選ぶため、数字や記号が入らないことがあります。必須にしているサイトで断られたら、生成し直してください。
  • 記号は ASCII の 26 個で固定です。記号を自分で指定したり、特定の記号だけを外したりはできません。
  • パスフレーズは作れません。単語を並べる方式(Diceware など)ではなく、文字のパスワードだけを生成します。
  • bcrypt は先頭 72 バイトまで。サイトが bcrypt でパスワードを保存している場合、72 文字を超えた部分は効きません。bcrypt のハッシュを作るには Bcrypt ハッシュ生成・検証を使ってください。
  • 何も保存しません。結果はどこにも書き込まないので、タブを閉じればパスワードは残りません。ページを離れる前にパスワードマネージャーへ保存してください。

パスワード管理のポイント

  • サービスごとに別のパスワードを使います。1 つのサービスから漏れた ID とパスワードは、ほかのサービスでも試されます。全部を別々にするにはパスワードマネージャーが現実的です。
  • 名前、誕生日、電話番号などの個人情報は、一部でもパスワードに入れないでください。
  • パスワードの強さに関係なく、使えるところでは 2 段階認証を有効にします。2段階認証コード生成ツール(TOTP)で、認証アプリの 6 桁のコードがどう計算されるかを確認できます。

FAQ

生成したパスワードは保存・送信されますか?

いいえ。パスワードはブラウザ内で Web Crypto API を使って生成し、サーバーに送信することも、ブラウザのストレージに書き込むこともありません。このページは Google Analytics と AdSense を読み込みません。タブを閉じればパスワードは残りません。

暗号学的に安全な乱数を使っていますか?

はい。各文字は window.crypto.getRandomValues()(ブラウザが提供する暗号学的に安全な乱数源)から選びます。一部の文字だけがわずかに出やすくなる 32 ビット値(剰余による偏り)は捨てて引き直すので、選んだ文字プールのどの文字も同じ確率で出ます。

パスワードの長さはどれくらいにすべきですか?

NIST SP 800-63B は、パスワードだけで認証する場合は 15 文字以上、多要素認証の一部として使う場合は 8 文字以上を求めています。既定の 88 文字のプールでは、16 文字で約 103 ビット、20 文字で約 129 ビットです。パスワードマネージャーに保存すれば、長くても覚える必要はありません。

サイトに「数字を含めてください」と言われて登録できませんでした。なぜですか?

各文字は選んだ文字種の中から独立に選ぶため、文字種ごとに 1 文字以上入る保証はありません。4 種類すべてを選んで 20 文字にした場合、約 9% のパスワードには数字が入りません。もう一度「生成」を押すか、長さを伸ばしてください。

どの記号が使われますか?

26 個です:! @ # $ % ^ & * ( ) - _ = + [ ] { } | ; : , . < > ?。引用符、バックスラッシュ、スラッシュ、バッククォート、チルダ、空白は使わないので、シェルのコマンドや JSON、設定ファイルに貼り付けてもエスケープは不要です。