piapia123
ja

ランダムパスワード生成

生成

処理はすべてブラウザ内で完結します。データは送信されません

エントロピー = 長さ × log2(文字種の数)。各文字が独立かつ一様にランダムであることが前提です。

    パスワードの強さは計算できます:エントロピー = 長さ × log2(文字種の数)、単位はビット —— n ビットなら、攻撃者は平均して 2^(n-1) 回試す必要があります。このページは「強い」という一言ではなく、ビット数をそのまま表示します。数値なら比べられ、筋道立てて考えられるからです:長さを 8 から 16 に増やし、あるいは文字種を 26 から 86 に広げれば、エントロピーがどれだけ増えたかがすぐに分かります。生成側には2つの固い保証があります:乱数はブラウザの crypto.getRandomValues からのみ取得し、チェックした文字種がそれぞれ少なくとも1回は必ず現れるようにしたうえで、最後に全体の順序を入れ替えます。

    機能

    • 長さは 4〜128 で調整でき、小文字 / 大文字 / 数字 / 記号の4種類の文字種から選べます
    • エントロピー(bit)をリアルタイム表示:長さ × log2(文字種の数)。オプションを変えると即座に更新されます
    • チェックした文字種がそれぞれ少なくとも1回は現れることを保証し、最後に全体をシャッフル —— 「先頭の数文字がいつも同じ種類」という規則性は生まれません
    • 紛らわしい文字 0 O 1 l I を除外できます。手で書き写す場面や電話で伝える場面に向きます(エントロピーは除外後の文字種で計算するので、水増しされません)
    • 一度に最大 100 件。同じバッチの中で重複はせず、1件ずつコピーすることも、まとめてコピーすることもできます
    • よくある弱いパスワードの一覧に一致したものは1件ずつ印を付けます。「どうせランダム生成だから」と見逃すことはしません

    使い方

    1. 長さを設定します(16 以上を推奨)
    2. 使う文字種をチェックします。少なくとも1種類は残してください
    3. 手で書き写すときは「紛らわしい文字 0 O 1 l I を除く」にチェックを入れます
    4. 「再生成」で別のバッチに切り替え、行の右にある「コピー」で取り出します

    よくある質問

    エントロピーとは何で、どのくらいあれば十分ですか?
    エントロピーは「攻撃者が平均して何回試す必要があるか」を表す尺度で、単位はビットです。n ビットなら平均 2^(n-1) 回の試行になります。経験的には、40 ビット以下は普通の GPU 1枚で数時間で破られ、60 ビット以上あればオンラインの総当たりに耐え、80 ビット以上は現在の計算能力ではまず届きません。4 種類の文字種で長さ 16 なら約 105 ビット —— ページに表示されるのはこの数値で、そのまま比べられます。「強い」という言葉は比べられません。
    生成したパスワードは記録されたり送信されたりしますか?
    いいえ。乱数はブラウザの crypto.getRandomValues(暗号学的に安全な乱数源)から取得し、生成も表示も端末のメモリ内だけで行われます。ページはリクエストを一切送りません。ページを再読み込みすれば一覧は消えます —— つまり、どのサーバーのログにも残りません。
    パスワードの生成に Math.random を使えないのはなぜですか?
    暗号学的に安全な乱数源ではないからです。内部状態は数百個の出力から逆算でき、そのあとは生成される「ランダムな」パスワードがすべて予測可能になります。さらに厄介なのは、この誤りがエラーを一切出さないことです —— 生成器は完全に正常に見えます。このツール(および当サイトで乱数を必要とするすべてのツール)は crypto.getRandomValues だけを使っています。
    一度に 100 件生成して重複はしませんか?
    しません。同じバッチの中に出たパスワードは除外して生成し直します。現在の範囲(長さが最低 4 文字、文字種が最低 8 文字)なら、100 件をすべて別々にするのは造作もありません。
    生成したあとはどう使えばよいですか?
    1つのアカウントに1つ、使い回さないでください。パスワードマネージャーに預けて保存し、チャットの履歴には残さないこと。サイトが記号を受け付けない場合は記号を外し、その分だけ長さを伸ばしてください —— 長さのほうが記号より価値があります。サイト側に長さの上限がある場合(12 文字まで、など)は、上限いっぱいで生成し、長さを優先してください。

    関連ツール