新しいサービスに登録するとき、「パスワードを入力してください」の欄で手が止まる。思いつくのはいつもの文字列で、結局また使い回してしまう。パスワード生成は、その「思いつかない」をなくすためのツールです。長さと使う文字を選ぶだけで、推測されにくいパスワードをその場で作ります。
使い方
1. 長さを決める
スライダーで文字数を決めます。迷ったら16文字が目安です。長さの考え方は後半の「安全なパスワードの考え方」で説明します。

2. 使う文字を選ぶ
英小文字・英大文字・数字・記号から、使う文字を選びます。基本的には全部入りのままが安心です。登録先のルールで「記号は使えない」と言われたときだけ、該当する文字種のチェックを外して作り直します。
3. コピーして、そのまま登録に使う
「コピーする」を押すと、そのパスワードがクリップボードに入ります。あとは登録画面に戻って貼り付けるだけ。同じサービスに何度も登録する(2つめ以降のアカウントを作る)ときは、「新しく生成する」で作り直すと、毎回ちがうパスワードが作れます。

安全なパスワードの考え方
効くのは「複雑さ」より「長さ」
パスワードの強さは、ほぼ「文字の種類 × 長さ」で決まります。いつもの単語を1文字だけ記号に変えたくらいでは、強さはほとんど変わりません。一方で、8文字から16文字に伸ばすと、推測の難しさは数万倍ではなく、理論上は数億倍以上になります。覚えにくい工夫を足す前に、まずは長さを伸ばすのが近道です。
一番危ないのは使い回し
弱いパスワードより怖いのは「強いパスワードの使い回し」です。どこか1か所から漏れると、同じパスワードを使っている場所が全部あぶない状態になります。面倒でも、サービスごとにちがうパスワードを使うのが大切です。このツールは、長い文字列をその場で作るので、「毎回ちがう」を手間なく続けられます。
覚えるのは1つだけにする
作ったパスワードを全部頭で覚える必要はありません。覚えるのは、パスワード管理アプリやメモの「置き場所」への入り方だけにして、作ったパスワード自体は管理の仕組みに任せるのが現実的です。
このツールで作ったパスワード自体は、どこにも保存されません。画面を閉じると消えてしまうので、登録に使ったら必ず自分の管理方法に保存してください。
生成のしくみ
生成には、ブラウザに備わっている暗号学的に安全な乱数(crypto.getRandomValues)を使っています。一般的な乱数とはちがい、予測されにくい系列になるよう設計された仕組みです。選んだ文字種は、生成するパスワードに最低1文字ずつ含まれるようになっており、長さを数えた結果の「強さ」は、想定される文字の種類と長さから計算したエントロピー(ビット数)で表示しています。
よくある質問
生成したパスワードはどこかに送られますか?
送られません。生成も表示も、あなたの端末の中だけで行われます。入力した内容や生成結果をサーバーに送信・保存する仕組みはありません。
推測されにくいのに、文字がランダムで覚えられません
覚えにくいこと自体が「推測されにくい」ことの裏返しです。登録が終わったら、パスワード管理の仕組み(ブラウザの保存機能やメモ)に預けてください。どうしても覚えやすくしたい場合は、長めの文字列にして、長さで強さを確保する方法もあります。
「紛らわしい文字を除く」はどういうときに使うのですか?
紙に書いて人に伝えたり、画面越しに読み上げて入力してもらったりするときに便利です。l(エル)と1(数字の1)、O(オー)と0(数字の0)は見分けがつきにくいので、あらかじめ使わないようにできます。
同じ文字列が生成されることはありますか?
同じ長さ・同じ文字種で何度も生成しても、結果が同じになる確率はとても低くなっています。もしまったく同じものが出た場合は「新しく生成する」で作り直してください。
使ってみての感想や「こうなるともっと便利」という声は、お問い合わせから気軽に送ってください。