このツールにできること、できないこと
パスワードを入力すると、長さと含まれる文字種(小文字、大文字、数字、それ以外)を数え、その2つの情報からエントロピー(ビット)を計算し、総当たりにかかる時間を見積もります。さらに、よく知られたパスワード、文字を記号に置き換えただけの変形、長い繰り返し、1234のような連続といった分かりやすいパターンも調べます。 新しいパスワードを決める前におおよその強さを知りたいとき、会社や学校のパスワード規則が実際に意味のあるものか判断したいときに便利です。ただし判定は経験則です。長さと文字種しか見ない計算式では、そのパスワードが本当にランダムなのか、すでに漏えいした一覧に載っているのかは分かりません。よい結果が出ても、安全だという保証にはなりません。
エントロピーの計算方法
攻撃者が何も情報を持たず、すべての組み合わせを順に試すとすると、候補の数は文字集合の大きさをN、長さをLとして N^L です。エントロピーはその2を底とする対数で、H = L × log2(N) ビットです。 このツールでは、小文字があれば26、大文字があれば26、数字があれば10、それ以外の文字(記号、全角文字、絵文字など)が1つでもあれば32をNに加えます。表示する時間は 2^H ÷ 10^10 秒で、これはすべての組み合わせを試し終えるまでの時間です。平均すると、その約半分の時点で見つかります。
1ビット増えるごとに候補は2倍になります。そのため、1文字足したときの効果は文字集合の大きさに比例し、小文字だけなら1文字あたり約4.70ビット、印字可能なASCII文字94種すべてを使うなら約6.55ビットです。
文字集合 × 長さの参考表(ビルド時に計算)
| 長さ | 数字のみ (10) | 小文字のみ (26) | 小文字+数字 (36) | 大小文字+数字 (62) | 英数字+記号 (94) |
|---|---|---|---|---|---|
| 8文字 | 26.6 ビット 1秒未満 | 37.6 ビット 21秒 | 41.4 ビット 5分 | 47.6 ビット 6時間 | 52.4 ビット 7日 |
| 10文字 | 33.2 ビット 1秒 | 47.0 ビット 4時間 | 51.7 ビット 4日 | 59.5 ビット 3年 | 65.5 ビット 171年 |
| 12文字 | 39.9 ビット 2分 | 56.4 ビット 110日 | 62.0 ビット 15年 | 71.5 ビット 10,230年 | 78.7 ビット 1.5e+6年 |
| 16文字 | 53.2 ビット 12日 | 75.2 ビット 138,282年 | 82.7 ビット 2.5e+7年 | 95.3 ビット 1.5e+11年 | 104.9 ビット 1.2e+14年 |
| 20文字 | 66.4 ビット 317年 | 94.0 ビット 6.3e+10年 | 103.4 ビット 4.2e+13年 | 119.1 ビット 2.2e+18年 | 131.1 ビット 9.2e+21年 |
数字だけの12文字(約39.9ビット)が、小文字だけの8文字(約37.6ビット)と同じくらいであること、記号を混ぜた8文字(約52.4ビット)より、小文字だけの16文字(約75.2ビット)のほうがはるかに高いことが分かります。時間はいずれも、文字を無作為に選んだ場合にだけ成り立つ理論値です。
入力例で見る結果と読み方
以下は、このツールの式にそのまま当てはめた値です(同じ式をNodeで実行して確認しました)。あえて有名な弱い例を選んでいます。実際には使わないでください。
| 入力例 | 長さ | 文字集合 | エントロピー | 推定解読時間 |
|---|---|---|---|---|
| 12345678 | 8 | 10 | 26.6 ビット | 1秒未満 |
| password | 8 | 26 | 37.6 ビット | 21秒 |
| P@ssw0rd! | 9 | 94 | 59.0 ビット | 2年 |
| Tr0ub4dor&3 | 11 | 94 | 72.1 ビット | 16,055年 |
| aaaaaaaaaaaaaaaa | 16 | 26 | 75.2 ビット | 138,282年 |
| correcthorsebatterystaple | 25 | 26 | 117.5 ビット | 7.5e+17年 |
| パスワード | 5 | 32 | 25.0 ビット | 1秒未満 |
- 12345678 は数字8文字で26.6ビット、1秒もかかりません。実際には漏えい済みパスワード一覧の最上位にあるため、計算以前に失格です。
- P@ssw0rd! は理論上59.0ビットで「弱い」区分に入りますが、
passwordの文字を記号に置き換えた典型例なので、辞書攻撃には数字よりはるかに早く破られます。このツールはこうした置き換えを警告します。 - aaaaaaaaaaaaaaaa(aが16個)は式の上では75.2ビットですが、同じ文字の繰り返しなので実際の情報量はほぼゼロです。「ランダムに選んだ」という前提が崩れると、エントロピーの式が意味を失う代表例です。
- correcthorsebatterystaple は小文字25文字で117.5ビットです。ただし4単語が本当にランダムに選ばれた場合の話で、この文言はあまりに有名なため、すでに攻撃用辞書に入っています。パスフレーズはパスフレーズ生成機のようにランダムに生成した単語でなければ意味がありません。
- パスワード(カタカナ5文字)は「それ以外の文字」32種として扱われ、25.0ビットになります。実際のカタカナはもっと多いので計算は控えめですが、攻撃者が日本語の単語辞書を使えばむしろ弱くなります。
強度の区分
このツールの区分は、40ビット未満が「非常に弱い」、40〜60が「弱い」、60〜80が「普通」、80〜100が「強い」、100以上が「非常に強い」です。この境界は業界標準ではなく、このサイトが定めた目安です。よくあるパスワード、繰り返し、連続が検出された場合は、計算値にかかわらず区分を下げます。広く知られた弱いパスワードは「非常に弱い」、そのほかの警告があれば最大でも「弱い」です。
最新の指針が述べていること
米国NISTのデジタルアイデンティティ指針(SP 800-63B)は、2025年の第4版でも長さと拒否リストを重視する方向を保っています。pages.nist.gov/800-63-4 の3.1.1.2節「Password Verifiers」によると、パスワードが唯一の認証要素なら最低15文字、多要素認証の一部としてなら最低8文字を求め、少なくとも64文字までは許容することが推奨され、文字種の組み合わせを強制するような構成ルールは課してはならず、よく使われる・漏えい済みのパスワードの一覧と照合し、漏えいの証拠なしに定期的な変更を求めてはならないとされています。Unicode文字はコードポイント1つを1文字と数えます。詳細や適用範囲は原文でご確認ください。所属組織の規則はこれより厳しい場合があります。
よくある失敗と誤解
- 記号を足せば安全: 末尾に「!」や「1」を付ける習慣は、攻撃ツールが最初に試す変形です。
- 1つのパスワードを複数のサイトで使い回す: 1か所から漏れると、同じ組み合わせが他のサービスに試されます(クレデンシャルスタッフィング)。エントロピーがいくら高くても、使い回せば意味がありません。
- 誕生日、電話番号、名前、キーボード配列: qwerty、1q2w3e4r、asdf1234などの配列も辞書に入っています。
- 解読に何百年もかかるから安心: サービス側のハッシュの保存方法や、攻撃者が毎秒何回試せるかで大きく変わる仮定です。毎秒100億回は、高速なハッシュをオフラインで攻撃する場合の1つの仮定にすぎません。
このツールの限界
- 漏えいパスワードのデータベースとは照合しません。ごく一般的なパスワードの短い内蔵リストだけを調べるので、「警告がない」は「安全」を意味しません。
- 長さはコードポイントで数えるため、絵文字1つが1文字です。サービスによって長さの数え方(UTF-16、バイト)が異なるので、同じ文字列でも許容されるかどうかが変わることがあります。
- ASCII以外の文字や記号をすべて「32種」にまとめる簡略化をしています。
- 多要素認証、ログイン試行回数の制限、サーバー側のハッシュ方式(bcrypt、Argon2など)がもたらす防御は反映していません。
セキュリティと個人情報の取り扱い
このページの計算は、入力のたびにブラウザ内のスクリプトで完結します。入力値を fetch やフォーム送信で送るコードはなく、保存もしません。入力欄は既定でマスクされ、「入力内容を表示する」をオンにしたときだけ見えます。ブラウザ拡張機能、共用PCのキーロガー、肩越しの視線までは、このツールでは防げません。広告スクリプトなどが読み込まれる一般的なウェブページでは、実際に使っているパスワードをそのまま貼り付けないのが最も安全な習慣です。長さと文字構成が似た別の文字列で試してください。
結果の活用方法
80ビット以上で、よくあるパターンの警告がなく、ほかのサービスで使っていないパスワードなら、一般的なアカウントには十分です。メール、金融、パスワードマネージャーのマスターパスワードのような重要なアカウントには、16文字以上のランダム文字列か、ランダムな単語を数個つなげたパスフレーズを使い、多要素認証も有効にしてください。覚えにくいものはパスワードマネージャーに任せるのが現実的です。ランダムな候補が必要ならパスワード生成機をお使いください。
関連ツール
- パスワード生成機: ランダムなパスワードを作成
- パスフレーズ生成機: ランダムな単語と正確なエントロピー
- ハッシュ生成機: 文字列がハッシュになる様子を確認
- 正規表現テスター: パスワード規則用のパターンを試す
よくある質問
入力したパスワードはどこかに保存されますか?
いいえ。計算はブラウザ内だけで行われ、入力内容を送信したり保存したりするコードはありません。ページを閉じるか再読み込みすると入力は消えます。
実際の攻撃もこの計算どおりに行われますか?
いいえ。実際の攻撃は、漏えい一覧、辞書、ルールに基づく変形を先に試すので、このツールの結果は純粋な総当たりを仮定した理論値です。ありがちなパターンは、数値よりはるかに早く破られます。
記号は必ず入れる必要がありますか?
NISTの指針は構成ルールの強制を勧めず、長さと漏えい一覧の拒否を重視しています。サイトが求めるなら従う必要がありますが、できるだけ先に長さを伸ばしてください。条件をぎりぎり満たすだけの短いパスワードは、かえって予想されやすくなります。
日本語のパスワードは安全ですか?
文字の種類が多く理論上の組み合わせは大きくなりますが、人が選ぶ日本語の単語は辞書攻撃の対象になります。また、サービスによっては日本語の入力を受け付けなかったり、端末ごとに符号化が変わったりします。このツールは、そうした文字を保守的に32種として扱います。
何ビット以上あれば十分ですか?
決まった答えはありません。試行回数が制限されるオンラインログインなら低くても耐えられますが、ハッシュが流出したオフライン攻撃にははるかに高い値が必要です。このサイトの区分では、80ビット以上を「強い」、100ビット以上を「非常に強い」と表示します。
パスワードは定期的に変えるべきですか?
NISTは、漏えいの兆候がない限り定期的な変更を強制しないよう勧めています。ただし、漏えいが疑われるときや使い回していたときはすぐに変更し、所属組織に独自の規則があればそれに従ってください。