パスワードの強さは「記号を入れたかどうか」ではなく、推測される可能性の総数(情報量)で決まります。このツールは、入力されたパスワードの情報量をビット単位で計算し、攻撃の種類ごとに突破までにかかる時間の目安を表示します。
入力した内容はどこにも送信されません。計算はすべてブラウザの中だけで行われ、保存もされません。
パスワード強度チェッカー
パスワードの「情報量」を計算し、総当たりで破られるまでの時間の目安を表示します
🔒 入力したパスワードは、どこにも送信されません。計算はすべてお使いのブラウザの中だけで行われ、保存もされません。ページを閉じた時点で消えます。それでも不安な場合は、実際に使っているものではなく「同じ長さ・同じ作り方の別の文字列」で試してください。
| オンライン攻撃(回数制限あり・毎秒10回) | – |
|---|---|
| オフライン攻撃(bcrypt等の低速ハッシュ) | – |
| オフライン攻撃(GPUで高速ハッシュを総当たり) | – |
安全なパスワードを生成する(生成もブラウザ内で行われます)
「複雑さ」より「長さ」が効く理由
パスワードの強度は、次の式で決まります。
情報量(ビット) = log₂(使える文字の種類) × 文字数
ここで重要なのは、文字の種類は掛け算の「係数」にしかならないのに対し、文字数は指数として効くという点です。
- 記号を追加して文字種を62→95に増やす … 1文字あたり 5.95 → 6.57 ビット(約10%増)
- 文字数を12→16に増やす … 全体で 71.5 → 95.3 ビット(約33%増、突破時間は1,400万倍)
つまり「Pa$$w0rd! のように記号で置き換える」よりも、「単純でも長くする」ほうが圧倒的に効きます。しかも記号への置き換えは攻撃側のツールが標準で試すパターンなので、実際の効果はさらに小さくなります。
文字数と文字種による強度の違い
GPUで高速ハッシュ(MD5やSHA-1など)を総当たりする場合の、平均的な突破時間の目安です。毎秒1,000億回の試行を仮定しています。
| 文字数 | 小文字のみ | 英大小 | 英数字 | 英数字+記号 |
|---|---|---|---|---|
| 8文字 | 約1秒 | 約4分 | 約18分 | 約10時間 |
| 12文字 | 約6日 | 約60年 | 約540年 | 約8万年 |
| 16文字 | 約6,700年 | 約4億年 | 約80億年 | 約7兆年 |
| 20文字 | 約29億年 | 約4,600兆年 | — | — |
※ ランダムな文字列である場合の理論値です。辞書に載っている単語や、よくあるパターンを含む場合は、この数値よりはるかに短時間で破られます。上のツールはそうしたパターンを検出して減点しています。
そもそも、パスワードはどうやって破られるのか
1. パスワードリスト型攻撃(もっとも現実的な脅威)
どこかのサービスから流出したメールアドレスとパスワードの組み合わせを、そのまま他のサービスで試す攻撃です。パスワードの強さは一切関係ありません。どんなに複雑なパスワードでも、使い回していれば1か所の流出で全部が抜かれます。
この攻撃に対する唯一の対策は、サービスごとに違うパスワードを使うことです。強度を上げても意味がありません。
2. 辞書攻撃
単語のリストや、過去の流出パスワードのリストを片っ端から試す方法です。sakura2020 のようなパスワードは、文字数が10文字あっても数秒で破られます。上のツールが「よく使われる文字列」を検出しているのはこのためです。
3. 総当たり攻撃(ブルートフォース)
すべての組み合わせを順に試す方法です。上の表が示すのがこれで、長さが十分なら現実的に不可能になります。
4. オンライン攻撃とオフライン攻撃の違い
この2つは速度が桁違いです。
- オンライン攻撃…実際のログイン画面に対して試す方法。回数制限やロックがあるため、毎秒10回程度が限界
- オフライン攻撃…サービスから流出したハッシュ値に対して、攻撃者の手元で試す方法。GPUを使えば毎秒数百億回
つまり「流出した後」を想定して強度を決める必要があります。ログイン画面のロック機能に頼るのは危険です。
現実的な、パスワードの作り方と管理
覚える必要があるパスワードは3つだけにする
すべてのパスワードを覚えるのは不可能です。次の3つだけを強く・覚えられる形にして、残りはツールに任せます。
- パスワード管理ツールのマスターパスワード(これが破られると全部終わるので最重要)
- PC・スマホのログインパスワード
- メインのメールアカウント(パスワードリセットの起点になるため)
覚えられて強い作り方:パスフレーズ
関連のない単語をつなげる方法です。上のツールの「日本語系パスフレーズ」ボタンで生成できます。
たとえば Hoshizora-umibe-kazenooto-4821 は32文字あり、意味のある日本語の並びなので覚えやすい一方、英語の辞書攻撃では引っかかりません。意味のある文にしないことがポイントです(「関連のない単語」を選びます)。
絶対にやってはいけないこと
- 使い回し…これが最大のリスク。強度より優先して直すべき点です
- 名前・誕生日・電話番号・ペットの名前…SNSから推測されます
- a→4、o→0 などの置き換えで安心する…攻撃ツールは標準で試します
- 「サービス名+固定文字列」パターン(
amazon_taro123、google_taro123)…1つ漏れると全部推測されます - ブラウザに保存したまま、PCにロックをかけない…物理的に触られた時点で全部見られます
パスワードより強い認証:2段階認証とパスキー
正直なところ、パスワードを強くするより2段階認証を有効にするほうが、防御力の向上は大きいです。方式によって強さが違うので、選べるなら下にいくほど安全です。
| 方式 | 安全性 | 弱点 |
|---|---|---|
| SMSで受け取るコード | △ | SIMスワップ詐欺、SMS傍受に弱い。ないよりは大幅にマシ |
| 認証アプリ(TOTP) | ○ | 偽サイトに自分でコードを入力してしまうと突破される |
| パスキー / FIDO2セキュリティキー | ◎ | 偽サイトでは動作しない設計。フィッシングに原理的に強い |
パスキーが使えるサービスでは、迷わずパスキーを使ってください。パスキーはドメインと紐づいて動作するため、見た目がそっくりな偽サイトでは認証情報が出てきません。「うっかり入力してしまう」という人的ミスを、仕組みで防げるのが決定的な違いです。
エントロピーの数字は、どう計算されているか
このツールが表示する「◯ビット」は、そのパスワードを総当たりで破るために、何通り試す必要があるかを対数で表したものです。計算は単純です。
| 手順 | 内容 |
|---|---|
| 1 | 使われている文字種から、1文字あたりの候補数を求める |
| 2 | 候補数を文字数だけ掛け合わせる(候補数の文字数乗) |
| 3 | その値を2を底とする対数に直す=ビット数 |
| 文字種の組み合わせ | 1文字あたりの候補数 | 1文字あたりのビット数 |
|---|---|---|
| 数字のみ | 10 | 約3.3 |
| 英小文字のみ | 26 | 約4.7 |
| 英大小文字 | 52 | 約5.7 |
| 英大小文字+数字 | 62 | 約5.95 |
| 英大小文字+数字+記号 | 約94 | 約6.55 |
ここから、文字数を1つ増やす効果が分かります。記号を含む場合、1文字増やすごとに約6.55ビット増えます。一方、英小文字だけの構成に記号を足しても、増えるのは1文字あたり約1.85ビットです。「1文字増やす」ほうが「文字種を増やす」より効くのは、この差によります。
この計算には前提があります。エントロピーは「完全にランダムに選ばれた場合」の値です。Password123! は計算上79ビットになりますが、実際には辞書の先頭で破られます。意味のある単語や規則的な並びを使った時点で、計算値は上限としての意味しか持ちません。だからこそ、生成は人ではなく乱数に任せるべきです。
突破時間の前提を、明示します
「◯年かかる」という表示は、置いた前提によって桁が変わります。当ツールが使っている前提を公開します。
| 攻撃の種類 | 前提している速度 | 成立する条件 |
|---|---|---|
| オンライン攻撃 | 1秒あたり10回程度 | ログイン画面に対して試す。試行回数制限があれば、さらに遅くなる |
| bcryptで保存された値への攻撃 | 1秒あたり数万回 | サービス側の保存データが流出し、適切にハッシュ化されている場合 |
| GPUによる高速な総当たり | 1秒あたり数百億回 | 流出データがSHA-256などの高速な方式で保存されていた場合 |
つまり、同じパスワードでもサービス側の保存方式によって、安全な時間が万倍単位で変わります。利用者側からは保存方式を確認できません。したがって、「最悪の前提(GPU総当たり)でも十分な長さ」を選ぶのが現実的な判断になります。
なお、計算に使う速度は年々上がります。表示される年数は2026年時点の目安であり、将来はより短くなります。長めに見積もっておくのが安全です。
総当たりの前に、辞書が試される
攻撃側は、いきなり総当たりを始めません。成功率の高い順に試します。この順番を知ると、何を避けるべきかが分かります。
| 順番 | 試すもの | 該当すると |
|---|---|---|
| 1 | 過去に流出したパスワードの一覧 | 一瞬で破られる。使い回しが最も危険な理由 |
| 2 | よく使われるパスワードの上位リスト | 数秒 |
| 3 | 辞書の単語+数字や記号の定番変形(a→@、o→0 など) | 数分〜数時間 |
| 4 | 対象者に関係する語(名前、誕生日、ペット名、勤務先) | 狙い撃ちの場合に有効 |
| 5 | 総当たり | ここまで来て初めて、長さが効いてくる |
重要なのは、1〜4を回避して初めて、エントロピーの数字に意味が出るということです。強度の数字が高くても、流出リストに載っていれば即座に破られます。「どこにも使っていない、ランダムに生成した文字列」であることが前提条件です。
よくある質問
入力したパスワードは本当に送信されませんか?
されません。このページのJavaScriptはすべてブラウザ内で完結しており、通信を行うコードは含まれていません。ブラウザの開発者ツール(F12)のネットワークタブを開いた状態で入力すれば、通信が発生していないことをご自身で確認できます。それでも不安な場合は、実際のパスワードではなく「同じ長さ・同じ作り方の別の文字列」でお試しください。
辞書の単語をつなげた場合も正しく判定されますか?
ある程度は検出しますが、完全ではありません。このツールは英語の全単語辞書を持っているわけではないため、実在する英単語を並べたパスワードは、表示より実際の強度が低い場合があります(攻撃側は単語リストを使って「単語単位」で総当たりするためです)。上のツールの生成機能で作られる文字列は、この点を考慮して十分な長さを確保しています。
「非常に強い」と出れば安心ですか?
総当たり攻撃に対しては安心ですが、使い回していれば意味がありません。また、フィッシングサイトに自分で入力してしまえば強度は無関係です。強度・使い回し防止・2段階認証の3つをセットで考えてください。
定期的な変更は必要ですか?
不要です。現在の主要なガイドライン(米国NISTのSP 800-63など)では、定期変更はむしろ推奨されていません。強制的に変更させると、人は覚えやすい単純なパターン(末尾の数字を1ずつ増やすなど)に流れるためです。変更すべきなのは「流出が判明したとき」だけです。
パスワード管理ツールが破られたら全部終わりでは?
理屈のうえではそのとおりです。ただし現実には、使い回しによる被害のほうが桁違いに多いのが実情です。管理ツールを使ったうえでマスターパスワードを長くし、管理ツール自体にも2段階認証をかける。これが現実的な最適解です。
あわせて読みたい
あわせて使える無料ツール
- UUID・ランダム文字列生成ツール — UUID v4とランダム文字列の生成
- ハッシュ値生成ツール — MD5やSHA-256のハッシュ値を生成