パスワード生成器
無料オンラインパスワード生成器。Web Cryptoの安全な乱数ソースに基づいて、強力なランダムパスワード、覚えやすいパスフレーズ、数字PINを生成します。強度チェック、混同しやすい文字の除外、一括エクスポートに対応。ブラウザのローカルで生成され、アップロードはゼロ。
無料オンラインパスワード生成器。Web Cryptoの安全な乱数ソースに基づいて、強力なランダムパスワード、覚えやすいパスフレーズ、数字PINを生成します。強度チェック、混同しやすい文字の除外、一括エクスポートに対応。ブラウザのローカルで生成され、アップロードはゼロ。
Math.random() は汎用の疑似乱数生成器であり、セキュリティシナリオ向けに設計されていません。内部状態が逆推定される可能性があります。crypto.getRandomValues() はオペレーティングシステムの暗号論的に安全な乱数ソース(CSPRNG)を使用しており、生成される乱数は予測不可能で、パスワードや鍵などのセキュリティシナリオに適しています。
いいえ。すべてのパスワードはブラウザのローカルで生成され、強度分析、エントロピー計算、クラック時間の推定もすべてローカルで完了します。開発者ツールのネットワークパネルを開くと、外部へのリクエストがゼロであることを確認できます。
大文字小文字+数字+記号を含めて少なくとも12文字以上を推奨します。16文字のランダムパスワードは現代の計算能力ではブルートフォースに数億年かかります。長さが1文字増えるごとに、探索空間は指数関数的に増加します。上記のクラック時間テーブルを参照してください。
同じ長さではランダムパスワードの方がエントロピーが高くなります。ただし、覚えやすいパスフレーズ(4〜6個のランダムな単語で構成)も総エントロピーが十分に高く(~60bit以上)、記憶しやすいため、手動入力が必要なシナリオに適しています。重要なのは、自分で作ったフレーズではなく、真にランダムに選択された単語であることです。
これらの文字は一部のフォントでは区別が難しく、入力ミスの原因となります。パスワードを手動で入力したり、電話で口述したり、印刷して配布する必要がある場合は、除外オプションを有効にすることを推奨します。パスワードマネージャーのみで使用する場合は、すべての文字を保持することでより高いエントロピーを得られます。
NISTの最新ガイドライン(SP 800-63B)では、パスワードが漏洩したことが確認されない限り、定期的なパスワード変更は推奨されなくなりました。定期的な強制変更は、ユーザーが弱いパスワードを選択したり書き留めたりする原因になります。より良い方法は、長いランダムパスワード+パスワードマネージャー+二要素認証(2FA)を有効にすることです。
エントロピーはパスワードの予測不可能性を測る指標で、単位はbitです。エントロピー = log₂(文字プールサイズ^パスワード長)。例えば、94個の印刷可能なASCII文字からランダムに選択された16文字のパスワードの場合、エントロピーは log₂(94¹⁶) ≈ 104 bit となります。エントロピーが高いほど、ブルートフォースが困難になります。
パスワード生成器は、ランダムで予測不可能なパスワードを生成するツールです。人がデザインしたパスワードとは異なり、真のパスワード生成器は**暗号論的に安全な疑似乱数生成器(CSPRNG)**を使用して指定された文字プールから文字をランダムに抽出し、人がパスワードを設定する際の固有の予測可能なパターン(名前+誕生日、qwertyのようなキーボードの連続入力、会社名+年など)を回避することで、クレデンシャルスタッフィング、辞書攻撃、ブルートフォースのリスクを大幅に低減します。
**なぜ Math.random() を使ってはいけないのか**:通常の疑似乱数生成器は内部状態が少量の出力から逆推定でき、攻撃者が後続の「ランダム」な数を予測できる可能性があります。このツールはブラウザのWeb Crypto APIであるcrypto.getRandomValues()を使用しており、オペレーティングシステムレベルのCSPRNG(Linuxのgetrandom、macOSのSecRandomCopyBytes、WindowsのBCryptGenRandomなど)を呼び出し、生成される乱数は暗号学的ランダム性テストに合格した予測不可能なものです。
**パスワード強度の核心はエントロピー(Entropy)です**:エントロピー = log₂(文字プールサイズ^パスワード長)、単位はbitです。例えば94個の印刷可能なASCII文字からランダムに選択された16文字のパスワードの場合、エントロピーは約104 bitであり、これは攻撃者が正しいパスワードを見つけるために平均で2¹⁰³回の試行が必要であることを意味します—毎秒1兆回試行しても、約2000億年かかります。
**覚えやすいパスフレーズ(Passphrase)**:ランダムに選択された複数の単語で構成され(例:Brave-Cloud-Star42)、ランダムパスワードより「単純」に見えますが、単語が真にランダムに選択されていれば総エントロピーは60 bit以上に達し、ほとんどのシナリオで十分に安全であり、同程度の強度のランダムパスワードよりもはるかに記憶しやすくなります。これはXKCD #936の有名なコミックとDicewareメソッドの中心的な考え方です。
**すべてのパスワードはブラウザのローカルで生成され**、いかなるサーバーにも送信されません。このツールは同時に強度チェックも提供します:エントロピー計算、ブルートフォース時間の推定、弱いパスワードパターンの検出(重複文字、連続した数字/文字、一般的な弱いパスワードのマッチング)により、生成されたパスワードの実際の安全強度を理解するのに役立ちます。
| パスワード長 | エントロピー(bit) | 組み合わせ数 | ブルートフォース時間(1兆回/秒) | 安全評価 |
|---|---|---|---|---|
6文字 | ~37 | 約1390億 | < 1秒 | ❌ 非常に弱い |
8文字 | ~52 | 約 2.2×10¹⁴ | 約2.5日 | ❌ 弱い |
10文字 | ~65 | 約 3.7×10¹⁸ | 約116年 | ⚠️ 普通 |
12文字 | ~78 | 約 6.1×10²² | 約193万年 | ✅ 強い |
16文字 | ~104 | 約 6.3×10³⁰ | 約2000億年 | ✅✅ 非常に強い |
20文字 | ~131 | 約 6.7×10³⁸ | 宇宙年齢の億億倍 | ✅✅✅ 破れない |
| モード | フォーマット例 | 典型的なエントロピー | 記憶しやすさ | 推奨シナリオ |
|---|---|---|---|---|
| ランダムパスワード | xK9#mP2$vL8@nQ4! | 1文字あたり~6.5bit | 悪い | パスワードマネージャーに保存するマスターパスワード、データベースパスワード、APIキー |
| 覚えやすいパスフレーズ | Brave-Cloud-Star42 | 1単語あたり~10bit | 良い | 人が記憶する必要のあるWi-Fiパスワード、ログインパスワード |
| 数字PIN | 482917 | 1数字あたり3.3bit | 良い | デバイスのロック画面、銀行カードPIN、ワンタイム認証コード |