パスワードの作り方
選んだ文字の種類をすべてつなげた文字の集まりから、1文字ずつランダムに選んで並べます。乱数にはブラウザの暗号用の乱数(crypto.getRandomValues)を使い、どの文字も同じ確率で選ばれるようにしています。乱数を文字の数で割った余りをそのまま使うと、一部の文字が出やすくなる偏りが生じるため、偏りの出る範囲の乱数は捨てて引き直しています。
選んだ種類は、それぞれ1文字以上含まれるようにしています。条件を満たさない並びが出たときは、全体を作り直します。そのため、たとえば4文字で4種類すべてを選ぶと、英小文字・英大文字・数字・記号が1文字ずつ並んだパスワードになります。
組み合わせ数とビット数の見方
結果には、同じ条件で作れるパスワードが全部で何通りあるか(組み合わせ数)と、それを2進数の桁数で表したビット数を表示します。ビット数が1増えると、総当たりで試す数が2倍になります。
計算例: 英小文字と数字(36文字)で4文字のパスワードは、36の4乗の1,679,616通りから、英小文字だけの456,976通りと数字だけの10,000通りを引いた1,212,640通りです。数字だけの4文字なら10,000通りで、約13.3ビットにあたります。英大文字・小文字・数字・記号の94文字から12文字を自由に選ぶと、94の12乗で約4.76×10の23乗通りです(各種類を1文字以上含む条件をつけると、これより少し減ります)。
この数字は、パスワードがここで作ったように完全にランダムな場合の目安です。名前や単語、生年月日を元にしたパスワードは、文字数が同じでも推測されやすく、この計算は当てはまりません。
文字数と文字の種類の目安
総務省の「国民のためのサイバーセキュリティサイト」では、最低でも10文字以上で、英大文字・小文字・数字・記号を混ぜたものが望ましいとされています。最近の海外の指針では、文字の種類よりも長さを重視する考え方もあります。迷ったら、サイトが受け付ける範囲でできるだけ長くするのが安全です。
サイトによっては、使える記号や最大の文字数が決められています。「使う記号」の欄を、そのサイトで使える記号だけに書き換えてから作ってください。記号が使えないサイトでは、記号のチェックを外し、その分文字数を増やすと組み合わせ数を保てます。
使うときの注意
- 同じパスワードを複数のサイトで使い回さないでください。1つのサイトから流出すると、ほかのサイトにも不正にログインされるおそれがあります。
- 覚えられない長いパスワードは、パスワード管理アプリやブラウザのパスワード保存機能に記録すると安全に使えます。
- 手で書き写す場合や、電話で伝える場合は「紛らわしい文字を除く」を選ぶと、I(アイ)と l(エル)、O(オー)と 0(ゼロ)の読み違いを防げます。
- 記号の「\」(バックスラッシュ)は、日本語の環境では「¥」と表示されることがあります。見た目が違っても同じ文字として入力されます。手で入力する場合に紛らわしければ、「使う記号」から外してください。
- パスワードに加えて、2段階認証(ワンタイムパスワードなど)が使えるサービスでは設定しておくと安心です。
入力内容の取り扱い
パスワードの生成はすべてお使いのブラウザ内で行い、作ったパスワードや設定がサーバーに送信されることはありません。ページを閉じると、作ったパスワードは残りません。
よくある質問
- 作ったパスワードはどこかに保存されますか?
- 保存も送信もしません。ブラウザ内で作って表示するだけなので、ページを閉じたり作り直したりすると消えます。必要なものはコピーしてパスワード管理アプリなどに保存してください。
- 何文字にすればよいですか?
- 総務省のサイトでは10文字以上が目安とされています。パスワード管理アプリに保存して使うなら、サイトが受け付ける範囲で16文字以上など長めにしておくと、総当たりにより強くなります。
- 記号が使えないと言われました。
- 記号のチェックを外すか、「使う記号」の欄をそのサイトで使える記号(例: - _ など)だけに書き換えてから作り直してください。
- 本当にランダムですか?
- ブラウザの暗号用の乱数(crypto.getRandomValues)を使い、どの文字も同じ確率で選ばれるように計算しています。同じパスワードが再び出る確率は、組み合わせ数分の1です。
最終更新日: 2026-11-04