パスワード生成ツール

文字セットを選んで強力な乱数パスワードを生成します。パスワード生成ツールはエントロピーをビットで示し、すべてブラウザ内で動作します。

すべての計算はブラウザ内で実行されます。入力内容がサーバーに送信されることはありません。

01 計算機

結果

    モード
    モード
    文字セット
    オプション

    パスワード生成ツールは、選んだ文字セットから乱数パスワードを生成し、あいまいなラベルではなくエントロピーのビット数で強度を報告します。長さは4から128文字、紛らわしい文字や括弧の除外、覚えやすい複数語パスワードを作るパスフレーズモードが選べます。

    すべてのパスワードは、OSの暗号学的乱数生成器を使ってブラウザ内で生成されます。送信、ログ記録、保存は一切行いません。

    乱数パスワードを生成する

    Concept diagram: 入力 leads to 乱数パスワードを生成する leads to 結果入力乱数パスワードを生成する結果
    乱数パスワードを生成する.

    長さを設定し、どの文字セットから引くかを選ぶと、すぐにパスワードが返ります。何度でも再生成でき、押すたびに同じプールから新しい値が引かれ、どれも記録されません。

    4セットすべてから16文字は、お金や身元を守る用途の妥当な既定値です。ログイン試行にレート制限があるサービスでは12文字で足ります。12未満は、サイト側の防御次第でしか安全ではなく、それは確認できません。

    長さは複雑さより重要です。94文字プールで1文字足すと、探索空間は94倍になります。固定長で小文字を記号に替える効果ははるかに小さいです。サイトが16文字で上限を設けるなら、16文字すべてを使います。

    含める文字セットを選ぶ

    Concept diagram: 入力 leads to which character sets to include leads to 結果入力which character sets toinclude結果
    含める文字セットを選ぶ.

    4セットがあり、有効にするたびに各文字が引かれるプールが広がります。

    セット文字
    小文字a-z26
    大文字A-Z26
    数字0-910
    記号`!"#$%&'()*+,-./:;<=>?@[\]^_{\}~``32

    4つすべてで94文字プールになります。3つの修飾子で狭められます。

    紛らわしい文字を除外i I l 1 L |o O 0、引用符や句読点の紛らわしい形を除きます。画面から読み取って別端末で打つ、電話で伝えるパスワード向けです。エントロピーはわずかに下がりますが、実際の手間は大きく減ります。

    括弧を除外< > ( ) [ ] { } を除きます。古いシステムのログインフォームで誤処理されることがあり、スクリプト内でパスワードを使うシェル環境では特別扱いされることもあります。

    重複文字なしは各文字を1回だけ使います。強そうに見えてわずかに弱く、配置するたびにプールが縮み、長さはプールサイズで上限が付きます。ポリシーで要求される場合だけ使います。

    全文字を結合プールから引くか、選んだ各セットから少なくとも1文字を保証するかも選べます。後者は多くの企業ポリシーが要求するためです。各セットから1文字を強制すると、有効な組み合わせの一部が除外されるため、エントロピーはごくわずかに下がります。

    ビット単位のエントロピーで強度を測る

    Concept diagram: 入力 leads to Measure password strength in bits… leads to 結果入力Measure passwordstrength in bits…結果
    ビット単位のエントロピーで強度を測る.

    エントロピーは攻撃者が必要とする推測回数を2の累乗で表します。「強い」と言うだけの強度メーターでは、何に対して強いのか分かりません。

    Entropy (bits) = length × log₂(pool size)
    Combinations   = pool size ^ length

    ビットは加法的で、1ビット増えるたびに作業は2倍になります。60ビットのパスワードは59ビットの2倍、50ビットの1,024倍の時間がかかります。だから短い長さの増加でも安全性は大きく上がります。

    おおよその目安と、その理由:

    • 40ビット未満: 一般向けGPUで数分以内に破られます。重要な用途には不十分です。
    • 50〜60ビット: 気軽な攻撃には耐え、本気のオフライン攻撃には倒れます。掲示板ログイン向けです。
    • 70〜80ビット: 現実的なオフライン攻撃に耐えます。多くのアカウントの妥当な目標です。
    • 100ビット超: 予測可能なハードウェア総当たりを超えます。パスワードマネージャのマスターパスワードや暗号鍵向けです。

    16文字パスワードのエントロピーを計算する

    Concept diagram: 入力 leads to entropy of a 16-character password leads to 結果入力entropy of a16-character password結果
    16文字パスワードのエントロピーを計算する.

    4セットすべてから引いた16文字パスワードは、おおよそ105ビットのエントロピーです。計算手順です。1. プールを足す。 26小文字 + 26大文字 + 10数字 + 32記号 = 94文字 2. 1文字あたりのビットを求める。 log₂(94) = 6.55ビット

    3. 長さを掛ける。 16 × 6.55 = 104.9ビット

    4. 組み合わせ数として表す。 94¹⁶ ≈ 3.7 × 10³¹ 通り

    12文字に短くするとエントロピーは78.6ビット、4.7 × 10²³ 通りになります。依然として強く、16文字版よりおおよそ680億倍攻撃しやすくなります。16文字から記号セットを外すとプールは62になり95.3ビット、4文字短くするより損失は小さいです。

    この比較は重要です。4文字削る方が、文字セット1つ丸ごと削除するよりコストが大きい。 長さがレバーです。

    パスワードの解読にかかる時間を理解する

    Process with 3 steps: Enter how long a password takes…; Read the main result; Check the breakdown1Enter how long apassword takes…2Read the main result3Check the breakdown
    パスワードの解読にかかる時間を理解する.

    単一の「解読時間」は、攻撃方法を述べなければ意味がありません。同じパスワードでも、推測の仕方次第で秒単位か太陽より長いかが変わるため、生成ツールは2つのシナリオを報告し、両方を明示します。

    Expected guesses = 2^(entropy − 1)
    Time             = expected guesses / guesses per second

    オンライン攻撃、おおよそ10³回/秒。 攻撃者がライブのログインフォームに推測を送ります。レート制限、ロックアウト、ネットワーク遅延が速度を抑えます。単一アカウントへの多くの実攻撃はこれに近く、生成されたパスワードはほぼ無期限に耐えます。

    オフライン攻撃、おおよそ10¹²回/秒。 サービスが侵害され、攻撃者がパスワードハッシュを保持しています。GPUクラスタと未ソルトMD5やSHA-1のような高速ハッシュでは、1秒に1兆回以上推測できます。こちらが重要なシナリオで、こちらは影響できません。

    10¹²回/秒では、78ビットのパスワードはおおよそ4,800年、105ビットは宇宙の年齢をはるかに超えます。40ビットは1秒未満です。

    数字が隠す注意点: これらは盲目的な推測を前提にしています。単語、日付、キーボードパターンから作ったパスワードは、文字数が示すよりはるかに早く落ちます。攻撃者はありそうな候補を先に当てます。だからここでは記憶しやすいものではなく、乱数から引いています。

    乱数文字列の代わりにパスフレーズを使う

    Concept diagram: 入力 leads to a passphrase instead of a random… leads to 結果入力a passphrase instead ofa random…結果
    乱数文字列の代わりにパスフレーズを使う.

    パスフレーズは、ランダムな複数語を連結したものです。乱数文字列に近いエントロピーを保ちつつ、覚えて打てるため、マネージャに入れられない少数のパスワード向けです。

    Entropy = number of words × log₂(word list size)

    7,776語リストでは、各語が log₂(7776) = 12.9ビットを寄与します。

    語数エントロピー相当
    451.7ビット8文字の乱数パスワード
    564.6ビット10文字の乱数パスワード
    677.5ビット12文字の乱数パスワード
    790.4ビット14文字の乱数パスワード

    6語で77.5ビット、オフライン攻撃に十分で、多くの人が数回の反復で覚えられます。correct-horse-battery-staple-mountain-glass を打つか、K7#mQ2vX@pL9 を打つかを比べてください。どちらも強いですが、テレビのリモコンで思い出して打てるのは一方だけです。

    パスフレーズを安全にする2つの規則。語は人間ではなく機械がランダムに選ぶこと。人間の語選択は一般語彙や連想に偏ります。既存のフレーズを形成してはいけません。歌詞の引用は語数に関係なくエントロピーがほぼありません。

    パスワードマネージャのマスター、デバイスログイン、メールアカウントにはパスフレーズを使います。それ以外はマネージャに保存する乱数文字列を使います。

    この生成ツールが crypto.getRandomValues を使う理由

    Concept diagram: 入力 leads to why this generator uses… leads to 結果入力why this generatoruses…結果
    この生成ツールが crypto.getRandomValues を使う理由.

    パスワード生成ツールは crypto.getRandomValues()、ブラウザの暗号学的乱数生成器から各文字を引きます。OSのエントロピープールで初期化されます。Math.random() は使いません。この区別が、パスワードと見かけだけの違いです。

    Math.random() はシミュレーションやゲーム向けの高速疑似乱数です。内部状態は小さく、ブラウザはセキュリティ用途に不適と明記し、実装とおおよその生成時刻が分かれば出力は予測可能です。Math.random() 上の生成ツールは推測ではなく再構成可能なパスワードを作り、文字数はその防御になりません。

    もう一つ、より subtle な要件があります。単純な剰余で乱数バイトを文字セットに写すと偏りが入ります。2³²は94で割り切れないため、セット先頭の文字がわずかに多く出ます。個々のパスワードでは見えず、十分な数では測定でき、実エントロピーは計算値を下回ります。この生成ツールは棄却サンプリングを使い、不均等な末尾の値は捨てて再抽選し、分布を均一に保ちます。

    パスワード用のシードは表示しません。意図的です。 このサイトの他の乱数器は再現と検証のためシードを表示します。再現可能なパスワードは侵害済みパスワードなので、ここでは保存、表示、導出もしません。

    すべてブラウザ内で完結します。パスワードはサーバーに送られず、ストレージにも書かれず、分析イベントにも含まれません。

    パスワードを安全に保管する

    Concept diagram: 入力 leads to パスワードを安全に保管する leads to 結果入力パスワードを安全に保管する結果
    パスワードを安全に保管する.

    生成したパスワードは、一度だけ使い、取り出せる場所に保存して初めて役に立ちます。再利用が他のすべてを台無しにします。1サービスが侵害されると、攻撃者は取得した資格情報をどこでも試し、10サイトで使い回した105ビットのパスワードは、最も弱い1つが落ちた時点でどこも守れません。

    重要度順に4つの実践:

    パスワードマネージャを使う。 覚える・再入力する必要がなくなり、再利用や簡略化の動機が消えます。長いパスフレーズで保護し、そのパスフレーズとリカバリキーを物理的に安全な場所にオフラインで控えます。

    二要素認証を有効にする。 提供されているところでは必ず。SMSより認証アプリやハードウェアキーを優先します。SMSコードはSIMスワップで傍受されます。第2要素はパスワードが漏れてもアカウントを守ります。

    理由があるときだけ変更する。 90日ごとの定期ローテーションはNISTがもはや推奨しません。予測可能な変形を促すためです。侵害の兆候、疑い、再利用が分かっているパスワードでは直ちに変更します。

    アドレスを既知の侵害と照合する。 メールアドレスを公開侵害データと検索できるサービスは、今対処すべきアカウントを教え、スケジュールで全部変えるより有用です。

    よくある質問

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

    お金、身元、通信を守るアカウントでは16文字が妥当な既定値で、全文字セットからおおよそ105ビットのエントロピーです。12文字はおおよそ79ビットで、価値の低いアカウントに足ります。サイトがもっと許すなら長く使い、1文字足すたびに探索空間はプールサイズ倍になります。

    強いパスワードの条件は何ですか?

    ランダム性と長さ、この順です。強いパスワードは大きな文字プールから予測不能に引かれ、可能性の総数が探索不可能な長さです。p@ssw0rd のような置換はほとんど効きません。攻撃者はそのパターンを先に当てます。ビットのエントロピーが実強度を測り、「強い」ラベルは測りません。

    ここで生成したパスワードは安全に使えますか?

    はい。すべて crypto.getRandomValues()、OSの暗号学的乱数生成器でブラウザ内生成し、棄却サンプリングで文字分布を均一に保ちます。送信、ログ、保存はなく、このページにDOMアクセスできる第三者スクリプトも動きません。

    パスワードはどこかに送られますか?

    いいえ。生成は完全にブラウザ内で、生成値は外に出ません。ブラウザストレージ、共有リンク、分析イベントにも載りません。タブを閉じると永久に破棄されるので、離れる前にパスワードマネージャへコピーしてください。

    ビットのエントロピーとは何ですか?

    ビットのエントロピーは、攻撃者が必要とする推測回数を2の累乗で表します。60ビットでは期待推測回数は約2⁵⁹です。1ビット増えるたびに難易度は2倍になり、16文字×94文字プールで104.9ビット、約3.7 × 10³¹ 通りになります。

    記号を含めるべきですか?

    サイトが受け付けるなら含めますが、記号を長さより優先しないでください。16文字に32文字の記号セットを足すと95.3から104.9ビット。記号なし16文字に4文字足すと95.3から119.1ビット。長さの方が強いレバーです。

    パスフレーズは乱数パスワードと同じくらい強いですか?

    パスフレーズはランダムに選んだ複数語の連結です。7,776語リストから6語で77.5ビット、12文字乱数パスワード相当で、覚えて打ちやすいです。機械が選び、既存フレーズを形成してはいけません。認識できる引用はエントロピーがほぼありません。

    強いパスワードをアカウント間で使い回せますか?

    いいえ。使い回しが最も有害な習慣で、強度はそれを防ぎません。1サービスが侵害されると、攻撃者は主要サイトすべてで資格情報を試します。各アカウントに固有のパスワードが必要で、それがパスワードマネージャの存在理由です。

    パスワードはどのくらいの頻度で変えるべきですか?

    理由があるとき: 既知または疑わしい侵害、共有・再利用パスワード、もはや管理していない端末。NISTは定期ローテーション指針を撤回しました。強制変更は数字を末尾に足すような予測可能な変形を促し、弱めるためです。

    モジュロバイアスとは何ですか?

    乱数バイトを単純な剰余で文字セットに写すと偏りが入ります。バイト範囲はセットサイズで割り切れないことが多く、一部の文字がわずかに多く出て実エントロピーが計算値を下回ります。この生成ツールは不均等な末尾を捨てて再抽選し、分布を均一に保ちます。

    まとめ

    パスワード生成ツールは最大94文字プールからブラウザの暗号学的乱数生成器でパスワードを引き、棄却サンプリングで分布を均一に保ち、ラベルではなくビットのエントロピーで強度を報告します。

    長さが最強要因: 全セット16文字はおおよそ105ビット、4文字短くする方が記号セット丸ごと削除よりエントロピーを多く失います。解読時間はオンライン10³回/秒とオフライン10¹²回/秒の両方を示します。単一の無条件数字は意味がありません。パスフレーズモードは同等の強度を保ちつつ覚えやすく、マネージャに入れられない少数向けです。すべてローカル生成で、送信・ログ・保存はありません。

    関連計算機

    大きな数の計算機 · Base64エンコード・デコード · 十六進数計算機

    ビルドメモ

    • crypto.getRandomValues() のみ。 このファイルの Math.random() は出荷済み脆弱性です。棄却サンプリング必須。94要素セットで1000万回のカイ二乗適合度で均一性をテスト。
    • エントロピー数値はテストフィクスチャ: 16文字/94プール = 104.9ビット; 12/94 = 78.6; 16/62 = 95.3; 20/62 = 119.1; 6語/7776 = 77.5。
    • このページではシード表示・保存・導出なし。レシートパネルはCSPRNGと非送信保証のみ。
    • リードの非送信行は約束。分析イベントに生成値を載せない。DOMアクセスする第三者スクリプトを読み込まない。
    • パスワード履歴、永続化、localStorage なし。
    • NISTローテーション指針は SP 800-63B。引用追加時はそれを引用。版番号を捏造しない。
    • Word count 2,090.