パスワードジェネレーター
暗号論的に安全な乱数(Web Crypto API)を使ったパスワード生成。文字種・長さ・類似文字除外を細かく指定でき、強度メーター付き。
暗号論的乱数 (crypto.getRandomValues) を使用、生成パスワードはサーバーに一切送信されません。
安全性について
- このツールは
crypto.getRandomValues()によって暗号論的に安全な乱数を使用しています。 - 生成処理は完全にブラウザ内で完結し、サーバーにパスワードが送信されることはありません。
- 長さ12文字以上・4種全て有効・類似文字除外なしがおすすめ。重要な用途には16文字以上を推奨します。
- 生成後は必ず安全な場所(パスワードマネージャー等)に保管してください。
コピーしました
📖 つまずきやすいポイント
Web Crypto API の crypto.getRandomValues() を使って、暗号論的に安全な乱数からパスワードを生成します。文字種・長さ・類似文字の除外を指定でき、エントロピーの推定値も表示します。処理はブラウザ内で完結し、生成したパスワードは送信されません。強度メーターが示すのはエントロピー (推測に必要な試行回数の目安) であって、「破られにくさ」そのものではありません — 実際の安全性は、そのパスワードをどこにどう保管し、使い回さないかで決まります。
| ケース | 何が起きるか | どうする |
|---|---|---|
| 複雑さを上げれば強くなると思っている | エントロピーは「文字種の数」と「長さ」の両方で決まりますが、効き方が違います — 文字種を増やしても 1 文字あたりのビット数が少し増えるだけですが、長さは 1 文字増やすごとにそのビット数がまるごと加算されます。実際に計算すると、4 種類すべてを使った 8 文字 (約 52 ビット) より、小文字だけの 12 文字 (約 56 ビット) のほうが強いのです。にもかかわらず多くのサイトが「大文字・数字・記号を各 1 文字以上」という要件を課しており、結果として Password1! のような、覚えやすく弱いパスワードを大量に生み出しています。 |
長さを優先してください。パスワードマネージャーを使うなら記憶する必要がないので、20 文字以上のランダム文字列にして構いません — このツールの既定より長くしても、コピー&ペーストの手間は変わりません。覚える必要がある少数のパスワード (端末のログイン、マネージャーのマスターパスワード) は、無関係な単語を 4〜6 個つないだパスフレーズが、覚えやすさと強度を両立します。NIST の SP 800-63B は 2017 年の改訂で、複雑さの要件と定期変更の強制をどちらも推奨から外しました — 代わりに求められているのは「長さ」と「漏洩済みパスワードのブロックリストとの照合」です。要件を設計する側なら、この 2 つに置き換えてください。 |
| 類似文字の除外で逆に弱くなる | 0 と O、1 と l と I を除外すると読み間違いが減りますが、その分だけ文字集合が小さくなり、1 文字あたりのエントロピーが下がります — 英数字 62 種から 5 文字を除けば 57 種になり、16 文字なら全体で 2 ビット強の損失です。損失そのものは小さいのですが、問題は「何のために除外しているのか」が忘れられがちなことです — コピー&ペーストでしか使わないパスワードで類似文字を除外しても、読みやすさの利益はゼロで、エントロピーだけが減ります。 |
用途で切り替えてください。類似文字の除外が意味を持つのは、紙に印刷して渡す、口頭で伝える、別の端末に手で打ち込むといった人間が文字を読む場面だけです — 初期パスワードを郵送する、機器の設定を現場で入力する、といったケースです。パスワードマネージャーに保存してコピー&ペーストで使うなら、除外はオフにして、そのぶん長さを 1〜2 文字増やしてください。「手で入力する可能性があるか」を先に決めてから設定を選ぶのが要点で、なんとなく安全そうだからという理由で除外を有効にするのは、目的と逆方向の選択です。 |
| 強いパスワードを作っても使い回している | 使い回したパスワードの強度は、それを保管しているサイトのうち最も弱い 1 つで決まります。どれだけ長く複雑でも、あるサイトが平文で保存していて漏洩すれば、その文字列はそのまま他の全サイトの鍵になります — これがクレデンシャルスタッフィングで、漏洩したメールアドレスとパスワードの組を、自動で他サービスに片端から試す攻撃です。成功率は数パーセントですが、試行が自動化されているので、数千万件の組から見れば十分な数のアカウントが乗っ取られます。生成したパスワードが強いことは、この攻撃に対して何の防御にもなりません。 | サイトごとに違うパスワードを使ってください — これはパスワードマネージャーを使うことと事実上同義です。人間が数十個のランダム文字列を覚えることはできないので、「使い回さない」を実現する方法はマネージャー以外にありません。そのうえで、より効果が大きいのは 2 要素認証 (2FA) の有効化です — パスワードが漏れても、それだけではログインできなくなります。優先順位としては、重要なアカウント (メール・銀行・パスワードマネージャー自身) から 2FA を有効にし、その後にパスワードの使い回しを解消していくのが現実的です。メールアカウントを最優先にしてください — 他の全サービスのパスワードリセットがそこに届くので、実質的にすべての鍵を兼ねています。 |
生成したパスワードは、思っているより多くの場所に残ります。コピーした時点でクリップボードに入り、Windows の「クリップボードの履歴」や macOS と iPhone の「ユニバーサルクリップボード」が有効なら、別の端末にも同期されます — さらに、クリップボードは原則としてどのアプリからでも読めます。本当に重要なパスワードは、パスワードマネージャーの生成機能を使ってください — 生成と保存が同じアプリの中で完結し、クリップボードもブラウザも経由しません。このページが役に立つのは、マネージャーを使えない場面 (機器の初期設定、他人に渡す一時的な認証情報、テストデータ) です。もう 1 点、実務で覚えておくと役に立つ判断材料があります — 登録画面で「記号は使えません」「最大 12 文字まで」と言われたら、それはそのサイトがパスワードを平文か、それに近い形で保存している兆候です。正しくハッシュ化していれば、入力の長さや文字種はハッシュの長さに影響しないので、制限する理由がありません。そういうサイトでは、他で使っていないパスワードを使うことがとくに重要になります。
📖 使い方
-
1
文字種と長さを設定英大文字・英小文字・数字・記号のチェックボックスで使う文字種を選び、スライダーで長さを 4〜64 文字で調整します。重要な用途には 16 文字以上を推奨します。
-
2
生成数を指定して「生成」生成数に 1〜50 を指定し「生成」ボタンをクリックします。各パスワードにはエントロピー推定値と強度ラベルが表示されます。
-
3
パスワードをコピーして保管各パスワード行の「コピー」ボタンでクリップボードにコピーします。生成後は必ずパスワードマネージャー等に保管し、このページを閉じる前に記録してください。
❓ よくある質問
このツールは本当に安全な乱数を使っていますか?
類似文字除外オプションとは何ですか?
生成されたパスワードはサーバーに送信されますか?
🐛 このツールで問題が発生しましたか?
完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。
ご報告ありがとうございます!
運営者に届きました。改善の参考にさせていただきます。