通常アカウント向けの安心デフォルト
長さ: 20 ・ 小文字: ON ・ 大文字: ON ・ 数字: ON ・ 記号: ON
B7$kP2wM!hG9eV4rT&xQ
ダッシュボードやWebアプリ、一般的な個人アカウントで使える定番設定です。4種類すべての文字を含む20文字は、現状ほぼ解読不可能とされる強度に達します。
文字種を調整して強力なランダムパスワードを生成。
最終更新
パスワードジェネレーターは、人間が考えるよりはるかに推測しにくいランダムなパスワードを作るツールです。テスト用アカウント、管理画面、DBの認証情報、ダッシュボードへの登録、CIのシークレット、個人のセキュリティ実践など、開発者や学習者の現場で広く使われています。
鍵になるのは「エントロピー」、つまりどれだけ予測しにくいかという指標です。長くて予測しづらいパスワードは、見た目は同じくらいランダムでも強度が桁違いに上がります。アカウントごとにユニークなパスワードを作り、信頼できるパスワードマネージャーに保管しておけば、使い回しに伴うリスクの大半は消せます。
まともなパスワードジェネレーターは、安全な乱数源から値を取ります。ブラウザなら window.crypto.getRandomValues、Pythonなら secrets、Node.jsなら crypto.randomBytes です。Math.random() や単純に時刻でシードしたRNGに頼っているものは、攻撃者にとっては予測可能で危険です。
a を @ に置き換えるような小細工より、長さの方が効きます。20文字の小文字オンリーのパスワードは、記号入り10文字より強いです。Math.random() ではなく、window.crypto のような暗号学的に安全な乱数源から取る必要があります。重要なアカウントなら最低16文字、admin や root 系の認証情報なら20文字以上を目安に。長さは他のどんな工夫より効きます。
強度を最大にしたいなら、小文字・大文字・数字・記号をすべて有効にします。音声で伝えたり別の環境にコピーしたりする可能性があるなら、記号は外しても構いません。
声に出して読み上げたり、手で打ち直したりする可能性があるなら、O / 0 や l / 1 / I を除外するオプションを有効にしておきましょう。
メーターは総当たり攻撃に何年かかるかの目安を表示します。最上位のレンジに入っていれば、個人のアカウントとしては十分です。
生成したパスワードは、信頼できるパスワードマネージャーに直接コピーします。チャットやメール、付箋に貼り付けるのは絶対NG。他のアカウントへの使い回しもしないこと。
1秒あたり100億回の試行を仮定した、現代的なオフラインクラッキングでの解読時間の目安です。長さを決めるときのざっくりした参考にしてください。一次情報としては NIST SP 800-63B と OWASP Authentication Cheat Sheet が定番です。
| 長さ | 文字種 | 強度の目安 |
|---|---|---|
| 8 | 小文字 + 数字(36種) | 数秒で解読される |
| 10 | 小文字 + 大文字 + 数字(62種) | 数時間で解読される |
| 12 | 小文字 + 大文字 + 数字 + 記号(94種) | 数日〜数週間 |
| 16 | 小文字 + 大文字 + 数字 + 記号 | 数百年規模 |
| 20 | 小文字 + 大文字 + 数字 + 記号 | 現実的には解読不可能 |
| 4語 | ランダムな単語のパスフレーズ(correct horse battery staple) | 数百年規模 — しかも覚えやすい |
長さ: 20 ・ 小文字: ON ・ 大文字: ON ・ 数字: ON ・ 記号: ON
B7$kP2wM!hG9eV4rT&xQ
ダッシュボードやWebアプリ、一般的な個人アカウントで使える定番設定です。4種類すべての文字を含む20文字は、現状ほぼ解読不可能とされる強度に達します。
f7Bk2pQz
f7Bk2pQzM!eV9rT&hG3wXn$L
短い方も同じ文字種を使っていますが、強度は桁違いに弱くなります。結局のところ、長さがほぼすべてです。
lantern-vivid-comet-nimbus-quartz
無関係な単語を5つ並べたパスフレーズは、16文字のランダム文字列とほぼ同等の強度を持ちつつ、入力・発話・記憶のいずれもずっと楽になります。
tower-citrus-bronze-quay-pear など)は、記号山盛りの短いパスワードと同等の強度を持ちつつ、扱いがずっと楽になります。window.crypto.getRandomValues を使ってブラウザ内で完結して動作します。生成したパスワードがサーバーに送られることはありません。