パスワード生成ツール
OS の CSPRNG を使って、ブラウザ内で強力なランダムパスワードを生成します。プリセットはデータベースの認証情報、SSH ログイン、多くのサイトが要求する文字種ルールに対応しています。
生成されたパスワード
パスワードは crypto.getRandomValues でローカルに生成され、送信・記録・保存は一切行われません。
クイックプリセット
用途に合わせて調整した文字数と文字種をワンクリックで適用します。
まとめて生成
複数アカウントの認証情報をまとめて更新するときに便利です。
このツールでできること
暗号論的に安全な乱数
乱数は crypto.getRandomValues 経由で OS から取得し、リジェクションサンプリングによってどの文字も出現確率が偏りません。
現実のルールに合ったプリセット
データベースと SSH のプリセットは、接続文字列の中で意味を持つ記号や shell でエスケープが必要な記号を除外します。生成したパスワードが実運用で弾かれる典型的な原因がこれです。
誇張しない強度評価
エントロピーは実際の文字プールと文字数から算出し、解読時間は見栄えの良いオンライン試行速度ではなく GPU によるオフライン攻撃を前提にしています。
よくある質問
Web サイトでパスワードを生成しても安全ですか?
このツールなら安全です。生成はブラウザのタブ内で OS の乱数源を使って行われ、利用中にネットワーク通信は発生しません。ブラウザの開発者ツールで確認できますし、ページを読み込んでからオフラインにしても生成できます。
パスワードは何文字にすべきですか?
試行回数制限のあるアカウントなら、文字種を混ぜた 16 文字で十分です。パスワードマネージャーのマスターキーなど、オフラインで攻撃されうる用途では 24 文字以上を目安にしてください。
なぜ似ている文字を除外するのですか?
0 と O、1 と l は、口頭で伝えたり手書きしたり印刷物から入力したりするときに取り違えやすいためです。失うエントロピーはごくわずかで、よくあるトラブルを防げます。
データベースと SSH のプリセットで記号が少ないのはなぜ?
@ : / ? などは接続文字列や URI の中で特別な意味を持ち、引用符やバックスラッシュは shell コマンドでエスケープが必要になります。これらを除くことで、強度は十分でも貼り付けた先のシステムを壊すパスワードを避けられます。