パスワード生成
長さと文字種を指定して、強いパスワードをまとめて作成します。 乱数はブラウザの暗号用乱数(crypto.getRandomValues)だけを使い、生成結果はこの端末の中だけで表示します。送信も保存もしません。
※ パスワードの生成はすべてこの端末のブラウザ内で行われ、当サイトや外部サーバーへ送信・保存されることはありません。 表示されたパスワードはページを再読み込みすると消えます。共用パソコンで使ったときは、コピー後にページを閉じてください。
このツールでできること
パスワード生成は、英大文字・英小文字・数字・記号を組み合わせた強いパスワードを、
指定した長さと本数でまとめて作成するツールです。乱数はブラウザに組み込まれた暗号用の乱数生成器
(crypto.getRandomValues)だけを使い、生成結果はこの端末の中だけで表示されます。
サーバーへの送信も、Cookieやこの端末への保存も行いません。
「紛らわしい文字を除く」を選べば、0とO、1とlとIのように見間違えやすい文字を候補から外せます。
使い方
- 「パスワードの長さ」をスライダーか数値で指定します(4〜128文字、既定は16)。
- 使用する文字種にチェックを入れます。英大文字・英小文字・数字は既定でオン、記号もオンです。少なくとも1種類は必要です。
- 印刷して手入力するなど見間違いを避けたい場合は「紛らわしい文字を除く」をオンにします。
- 「生成本数」を1〜20の範囲で決め、「生成する」を押すと一覧が表示されます。各行の「コピー」で1件ずつ、「すべてコピー」で全件をまとめてコピーできます。設定を変えると自動で作り直します。
安全なパスワードの考え方
パスワードの強さは、おおよそ「長さ」と「文字の種類」で決まります。 文字数を1つ増やすほど、総当たり攻撃に必要な手間は文字種の数だけ倍になります。 一般的な目安として、英大文字・小文字・数字・記号を混ぜて16文字以上あれば、 オンラインサービスのパスワードとしては十分な強さです。 金融・メールなど乗っ取られると被害が大きいアカウントは、より長くすることをおすすめします。
加えて大切なのは、同じパスワードを複数のサービスで使い回さないこと、 そしてパスワード管理ツール(ブラウザ内蔵のものを含む)に保存して手入力を減らすことです。 これだけで、漏えい時の被害が他サービスへ広がるリスクを大きく下げられます。 二要素認証(2FA)が使えるサービスでは、必ず併せて有効にしてください。
安全性について
生成処理はすべてページ内のJavaScriptで完結します。作成したパスワードが当サイトや外部サーバーへ
送信されることはなく、Cookieやサーバーログにも残りません。この端末のブラウザにも保存しないため、
ページを再読み込みすると内容は消えます。共用のパソコンで使ったときは、
必要なパスワードをコピーした後にページを閉じてください。
乱数には暗号用途向けの crypto.getRandomValues を用い、
割り算の余りで生じる偏り(モジュロバイアス)を避ける処理と、
並べ替えにフィッシャー–イェーツ法を入れて、どの文字も等しい確率で選ばれるようにしています。
よくある質問
生成したパスワードはどこかに保存・送信されますか?
いいえ。パスワードはすべてブラウザ内で生成され、当サイトや外部サーバーへ送信されることはありません。この端末にも保存しないため、ページを再読み込みすると消えます。
乱数はどのように作っていますか?
暗号用の乱数生成器 crypto.getRandomValues を使い、モジュロバイアスを避けるリジェクションサンプリングで1文字ずつ選んでいます。Math.random は使いません。並べ替えも同じ乱数によるフィッシャー–イェーツ法です。
「紛らわしい文字を除く」とは何ですか?
見間違えやすい文字(0 O o l 1 I |)を候補から外します。印刷して手で入力する場合などに役立ちます。既定はオフです。
どのくらいの長さにすればよいですか?
英大文字・小文字・数字・記号を混ぜて16文字以上あれば多くの場面で十分です。重要なアカウントほど長くしてください。
「強度の目安」はどう計算していますか?
長さ × log2(使用する文字の種類数) で推定エントロピー(bit)を求め、40未満は「弱い」、60未満は「普通」、80未満は「強い」、それ以上は「非常に強い」と表示します。あくまで目安です。
生成したパスワードをそのまま使って大丈夫ですか?
はい。ただしパスワード管理ツールに保存し、複数のサービスで使い回さないことをおすすめします。2FAが使えるサービスでは併せて有効にしてください。