パスワードは何文字あれば安全? 総当たり時間の早見表と、計算どおりにいかない例

公開: 2026-09-19 · 執筆: niherattyo

8文字は本当に危ないのか。記号を入れるのと文字数を増やすのはどちらが効くのか。このサイトの強度チェッカーと同じ計算で早見表を作り、計算では見抜けない弱いパスワードも確かめました。

計算の前提

この記事の数字は、このサイトのパスワード強度チェッカーと同じ計算式で出しています。

  • 1文字あたりの候補の数:数字10・小文字26・大文字26・記号32の、使った種類の合計
  • 強さ(エントロピー)= 文字数 × log₂(候補の数) ビット
  • 総当たりにかかる時間 = 2エントロピー ÷ 1秒あたりの試行回数

試行回数は、流出したパスワードの「ハッシュ」(パスワードを変換した値)を、高性能な機器で総当たりする状況を想定して1秒に100億回としました。表の時間は、すべての組み合わせを試し終わるまでの時間です。 平均すると、その半分で当たります。

早見表:文字数と文字の種類

パスワードをランダムに作った場合の、総当たりにかかる時間です。

文字数数字のみ(10種)小文字のみ(26種)英大小+数字(62種)英大小+数字+記号(94種)
6文字一瞬一瞬6秒約1分
8文字一瞬21秒6時間7日
10文字1秒4時間2.7年171年
12文字2分110日1万年151万年
14文字2.8時間205年3,930万年133億年
16文字12日13.8万年1,510億年100兆年以上
20文字317年632億年100兆年以上100兆年以上

わかること

  • 文字の種類より、文字数が効く:小文字だけの14文字(205年)は、4種類すべてを使った10文字(171年)より長くかかります。 1文字増やすたびに、時間は「候補の数」倍(小文字なら26倍、全種類なら94倍)になります。
  • 8文字は、全種類を使っても7日:昔よく言われた「8文字以上」は、流出したハッシュを総当たりされる状況では十分とはいえません。
  • 12文字を超えると現実的でなくなる:全種類12文字で151万年、16文字では100兆年を超えます。
  • 数字だけの暗証番号は、回数制限が頼り:4けたなら組み合わせは1万通りしかありません。 銀行のカードやスマートフォンの暗証番号が短くても使えるのは、数回間違えるとロックされる仕組みがあるからです。

攻撃の速さで、時間は大きく変わる

同じパスワードでも、攻撃者が1秒に何回試せるかで結果は大きく変わります。

攻撃の条件8文字(94種)12文字(94種)
ログイン画面から試す(1秒に1,000回と仮定)19万年15兆年
流出したハッシュを総当たり(1秒に100億回)7日151万年
さらに100倍速い環境(1秒に1兆回)1.7時間1.5万年

ログイン画面から1回ずつ試す攻撃は遅く、多くのサービスは失敗が続くとロックもかけます。 本当に危ないのは、サービスからパスワードのハッシュが流出し、手元の機器で好きなだけ試される場合です。 そのときに差が出るのが、パスワードの長さです。

計算どおりにいかないパスワード

上の表は「ランダムに作った場合」の数字です。人が考えたパスワードは、もっと早く当てられます。 実際にいくつかのパスワードを強度チェッカーにかけてみると、弱点がはっきりしました。

パスワード改善前改善後ひとこと
P@ssw0rd52.4 bit
7日
24.0 bit
一瞬
password の文字を記号・数字に置き換えただけ
Password1!65.5 bit
171年
24.0 bit
一瞬
単語+数字+記号の定番の形
Tokyo2020!65.5 bit
171年
24.0 bit
一瞬
地名+年+記号
tanaka198551.7 bit
4日
51.7 bit
4日
名字+生まれ年。計算では見抜けない(後述)
correct horse battery staple164.0 bit
100兆年以上
164.0 bit
100兆年以上
単語を並べた文。計算は過大(後述)
k7#Qm2!xR9vB78.7 bit
151万年
78.7 bit
151万年
ランダムな12文字の例。計算どおり

見つかった弱点と改善

最初の計算では、P@ssw0rd が「7日」、Password1! が「171年」と表示されました。 しかしこれらは、流出したパスワードの一覧で上位に並ぶ定番の形です。攻撃者はランダムな総当たりの前に、 「よくある単語の、文字の置き換え(a→@、o→0 など)や、後ろに数字・記号を付けた形」から試します。

そこで強度チェッカーを改善し、記号や数字を元の文字に戻したうえで前後の数字・記号を外し、よく使われる単語と一致したら24ビット(一瞬で当たる強さ)まで下げるようにしました(2026年9月19日)。 ランダムに作った20万個のパスワードで試し、誤ってこの判定になるものがないことも確かめています。

計算では見抜けないもの

  • 名前・誕生日・電話番号:tanaka1985 は計算上「4日」ですが、あなたを知っている人や、 SNSの情報を集めた攻撃者には、はるかに早く当てられます。本人に関係する情報は、計算で強さを判断できません。
  • 単語を並べた文(パスフレーズ):correct horse battery staple は文字数が多いため、計算上は非常に強く見えます。 しかし攻撃者が「単語を4つ並べた形」だと知っていれば、試すのは文字ではなく単語の組み合わせです。 2,048語の中から4語をランダムに選んだ場合、強さは44ビットで、1秒100億回なら約29分で当たります。 パスフレーズを使うなら、7,776語の単語表からサイコロなどで6語を選ぶ方法(ダイスウェア)で約77.5ビット、約70万年になります。

このサイトのパスワード生成ツールで使える記号は18種類です。 強度チェッカーは記号を一律32種類として計算するため、生成したパスワードの強さを少し高めに表示します。 たとえば英大小・数字・記号の12文字は、実際には約75.9ビット(約22万年)です。

まとめ

  • 覚えなくてよいパスワードは、パスワード生成ツールで16文字以上をランダムに作り、パスワード管理ソフトに保存するのが確実です。
  • 覚える必要があるパスワードは、単語をランダムに6つ以上選んだパスフレーズにします。自分で考えた文や、単語の置き換えは避けましょう。
  • 使い回さない:どれだけ強くても、ほかのサービスから流出すれば、そのまま試されます。
  • 二要素認証を使う:パスワードが知られても、それだけではログインされにくくなります。

この記事で使ったツール