パスワード生成

暗号学的に安全な乱数で、強いパスワードを生成します。

🐾 生成はブラウザ内で完結。サーバーには一切送信されません

使い方

  1. 「長さ」のスライダーで文字数を決めます(4〜64文字、初期値は16文字)。
  2. 使う文字種を「大文字」「小文字」「数字」「記号」のチェックで選びます。初期状態では記号以外の3種類がオンです。
  3. スライダーやチェックを変えるたびに、新しいパスワードが自動で作られます。別の候補がほしいときは「↻ 生成」を押します。
  4. 「コピー」を押すと、表示中のパスワードがクリップボードにコピーされます。

文字種のチェックをすべて外すと、パスワードの代わりに「文字種を1つ以上選んでください」と表示されます。また、登録先のサービスによっては使える記号が限られていることがあるので、記号を含めて作る場合は受け付けられる記号を確認してください。

安全なパスワードの考え方

このツールは、ブラウザに備わっている暗号学的に安全な乱数(crypto.getRandomValues)を使って1文字ずつ選んでいます。予測されやすい Math.random は使っていません。生成の流れは次のとおりです。

  1. チェックした文字種から、それぞれ1文字ずつ選びます(選んだ文字種が最低1文字は入るようにするため)。
  2. 残りの文字数ぶんを、チェックした文字種をすべて合わせた中から選びます。
  3. 最後に全体の並び順をランダムに入れ替え、決まった位置に決まった種類の文字が来ないようにします。

使われる文字は、大文字26種・小文字26種・数字10種・記号18種(!@#$%^&*()-_=+[]{})です。パスワードの強さは「使える文字の種類」と「長さ」で決まり、組み合わせの数は次の式で表せます。

組み合わせの数 = 文字の種類数 ^ 長さ

たとえば初期設定(大文字・小文字・数字の62種類、16文字)なら 62の16乗で、2進数に直すと約95ビット分の強さの目安になります。

設定文字の種類強さの目安
英大小+数字・8文字62約48ビット
英大小+数字・12文字62約71ビット
英大小+数字・16文字62約95ビット
英大小+数字+記号・16文字80約101ビット

表から分かるように、記号を足すより文字数を増やすほうが強さは大きく伸びます。各文字種を最低1文字入れる仕組みのため実際の値はわずかに下がりますが、目安としては十分です。

こんなときに便利

よくある質問

生成したパスワードは保存・送信されますか?

保存も送信もされません。生成はお使いのブラウザの中だけで行われ、結果を外部に送る処理はありません。ページを閉じたり再読み込みしたりすると消えるので、使うパスワードは必要な場所に控えてください。

何文字にすればよいですか?

ひとつの目安として、ネットのアカウントには12文字以上、重要なアカウントには16文字以上が安心です。パスワード管理アプリに保存する前提なら、覚えやすさを気にせず長めにしておくと安全性が高まります。

「0」と「O」、「1」と「l」のように見分けにくい文字は除外されますか?

除外されません。すべての英数字が候補に入るため、紙に書き写したり手入力したりすると読み間違えることがあります。手入力する場面では、コピー機能を使うか、表示を拡大して確認してください。

同じパスワードが出ることはありますか?

理屈のうえではありえますが、16文字・62種類なら組み合わせは約4.8×10の28乗通りあり、実用上重なることは考えなくてよい水準です。

記号を入れたら登録できませんでした

サービスによって使える記号の種類が決まっていることがあります。その場合は「記号」のチェックを外し、代わりに長さを増やして作り直してください。