弱いパスワードはアカウント侵害につながる一般的な原因です。誕生日、電話番号、連続した数字、複数のサイトで同じパスワードを使い回すことは、認証情報の詰め込み攻撃や総当たり攻撃によって突破される可能性があります。このツールでは、必要な長さと使用する文字種類を選ぶだけで、すぐに強力なパスワードを生成できます。強度レベルとセキュリティ分析も同時に表示されます。生成とチェックはすべてブラウザ内で行われ、サーバーには送信されません。
長さは4~128文字で設定でき、初期値は20文字です。文字数が1文字増えるごとに、総当たり攻撃で試す必要がある組み合わせ数はおよそ2倍になるため、16文字以上がより堅牢な選択です。小文字、大文字、数字、特殊記号の4種類から選択でき、初期状態ではすべて有効です。使用する文字の種類が多いほど、パスワードは推測しにくくなります。「紛らわしい文字を除外」を有効にすると、フォントによって見分けにくい 0、O、1、l、I を除外できます。選択した文字種類は、それぞれ少なくとも1文字含まれるように生成されます。
生成するたびに、弱い、普通、強い、非常に強いの4段階で強度をリアルタイム表示します。強度はパスワードの長さと文字セットの大きさから情報エントロピーを推定して判定します。セキュリティチェックでは、16文字を超えているか、大文字と小文字の両方を含むか、数字を含むか、特殊記号を含むかを確認します。未達成の項目がある場合は、長さを増やすか文字種類を追加して再生成してください。長さスライダーの横には8、12、16、20、32、64文字のクイック選択もあります。
複数のアカウント用にパスワードを設定する場合は、生成数を1、5、10、50から選択すると、異なるパスワードを一括生成できます。結果一覧では各パスワードを個別にコピーでき、すべてをワンクリックでコピーすることもできます。1行につき1つのパスワードになるため、パスワードマネージャーや表計算ソフトへの取り込みにも便利です。メイン結果エリアには、パスワードをコピー、再生成、クリアの3つのボタンがあります。設定を変更するとすぐに再生成されます。
このページでは、ブラウザが提供する暗号学的に安全な乱数生成APIである crypto.getRandomValues() を使用し、棄却サンプリングによって剰余演算による分布の偏りを防いでいます。これにより各文字が均等に選択されます。Math.random() は暗号学的用途を想定した乱数ではなく、パスワード生成には適していないため、このツールでは使用していません。生成後の文字順も同じ安全な乱数源でシャッフルし、特定の文字が常に先頭に来ることを防いでいます。
このツールにはサーバー側の処理はありません。パスワードの生成も強度評価もページ内でローカルに実行されます。パスワードがサーバーへ送信・保存されることはなく、生成結果をブラウザストレージへ保存することもありません。ページを閉じたり更新したりすると、現在のパスワードと一括生成結果は消去されます。長期間保存する場合は、チャット履歴やメモ、ブラウザのブックマークではなくパスワードマネージャーを使用してください。
1つのサイトで漏えいしても他のアカウントに影響しないよう、サイトごとに異なるパスワードを使用してください。16文字以上で、数字と記号を含むパスワードを優先します。生成したパスワードはパスワードマネージャーに保存し、チャットやメールで送信することは避けてください。重要なアカウントでは2段階認証を有効にし、パスワードが漏えいした場合にも追加の保護層を確保します。サイト側で長さが制限されている、または特殊記号が使えない場合は、許可される最大長にして大文字・小文字・数字を維持してください。
コメント 0