コンテンツにスキップ

パスワードジェネレーター

暗号論的に安全な乱数(Web Crypto API)を使ったパスワード生成。文字種・長さ・類似文字除外を細かく指定でき、強度メーター付き。

完全無料 登録不要 ブラウザ完結 OSS ベース 5 言語対応 ダークモード

暗号論的乱数 (crypto.getRandomValues) を使用、生成パスワードはサーバーに一切送信されません。

安全性について

うまく動かない・表示がおかしい場合は お問い合わせフォーム からご報告ください。

📖 つまずきやすいポイント

Web Crypto API の crypto.getRandomValues() を使って、暗号論的に安全な乱数からパスワードを生成します。文字種・長さ・類似文字の除外を指定でき、エントロピーの推定値も表示します。処理はブラウザ内で完結し、生成したパスワードは送信されません。強度メーターが示すのはエントロピー (推測に必要な試行回数の目安) であって、「破られにくさ」そのものではありません — 実際の安全性は、そのパスワードをどこにどう保管し、使い回さないかで決まります

ケース 何が起きるか どうする
複雑さを上げれば強くなると思っている エントロピーは「文字種の数」と「長さ」の両方で決まりますが、効き方が違います — 文字種を増やしても 1 文字あたりのビット数が少し増えるだけですが、長さは 1 文字増やすごとにそのビット数がまるごと加算されます。実際に計算すると、4 種類すべてを使った 8 文字 (約 52 ビット) より、小文字だけの 12 文字 (約 56 ビット) のほうが強いのです。にもかかわらず多くのサイトが「大文字・数字・記号を各 1 文字以上」という要件を課しており、結果として Password1! のような、覚えやすく弱いパスワードを大量に生み出しています 長さを優先してください。パスワードマネージャーを使うなら記憶する必要がないので、20 文字以上のランダム文字列にして構いません — このツールの既定より長くしても、コピー&ペーストの手間は変わりません。覚える必要がある少数のパスワード (端末のログイン、マネージャーのマスターパスワード) は、無関係な単語を 4〜6 個つないだパスフレーズが、覚えやすさと強度を両立します。NIST の SP 800-63B は 2017 年の改訂で、複雑さの要件と定期変更の強制をどちらも推奨から外しました — 代わりに求められているのは「長さ」と「漏洩済みパスワードのブロックリストとの照合」です。要件を設計する側なら、この 2 つに置き換えてください。
類似文字の除外で逆に弱くなる 0O1lI を除外すると読み間違いが減りますが、その分だけ文字集合が小さくなり、1 文字あたりのエントロピーが下がります — 英数字 62 種から 5 文字を除けば 57 種になり、16 文字なら全体で 2 ビット強の損失です。損失そのものは小さいのですが、問題は「何のために除外しているのか」が忘れられがちなことです — コピー&ペーストでしか使わないパスワードで類似文字を除外しても、読みやすさの利益はゼロで、エントロピーだけが減ります 用途で切り替えてください。類似文字の除外が意味を持つのは、紙に印刷して渡す、口頭で伝える、別の端末に手で打ち込むといった人間が文字を読む場面だけです — 初期パスワードを郵送する、機器の設定を現場で入力する、といったケースです。パスワードマネージャーに保存してコピー&ペーストで使うなら、除外はオフにして、そのぶん長さを 1〜2 文字増やしてください「手で入力する可能性があるか」を先に決めてから設定を選ぶのが要点で、なんとなく安全そうだからという理由で除外を有効にするのは、目的と逆方向の選択です。
強いパスワードを作っても使い回している 使い回したパスワードの強度は、それを保管しているサイトのうち最も弱い 1 つで決まります。どれだけ長く複雑でも、あるサイトが平文で保存していて漏洩すれば、その文字列はそのまま他の全サイトの鍵になります — これがクレデンシャルスタッフィングで、漏洩したメールアドレスとパスワードの組を、自動で他サービスに片端から試す攻撃です。成功率は数パーセントですが、試行が自動化されているので、数千万件の組から見れば十分な数のアカウントが乗っ取られます生成したパスワードが強いことは、この攻撃に対して何の防御にもなりません サイトごとに違うパスワードを使ってください — これはパスワードマネージャーを使うことと事実上同義です。人間が数十個のランダム文字列を覚えることはできないので、「使い回さない」を実現する方法はマネージャー以外にありませんそのうえで、より効果が大きいのは 2 要素認証 (2FA) の有効化です — パスワードが漏れても、それだけではログインできなくなります。優先順位としては、重要なアカウント (メール・銀行・パスワードマネージャー自身) から 2FA を有効にし、その後にパスワードの使い回しを解消していくのが現実的です。メールアカウントを最優先にしてください他の全サービスのパスワードリセットがそこに届くので、実質的にすべての鍵を兼ねています

生成したパスワードは、思っているより多くの場所に残ります。コピーした時点でクリップボードに入り、Windows の「クリップボードの履歴」や macOS と iPhone の「ユニバーサルクリップボード」が有効なら、別の端末にも同期されます — さらに、クリップボードは原則としてどのアプリからでも読めます。本当に重要なパスワードは、パスワードマネージャーの生成機能を使ってください生成と保存が同じアプリの中で完結し、クリップボードもブラウザも経由しません。このページが役に立つのは、マネージャーを使えない場面 (機器の初期設定、他人に渡す一時的な認証情報、テストデータ) です。もう 1 点、実務で覚えておくと役に立つ判断材料があります — 登録画面で「記号は使えません」「最大 12 文字まで」と言われたら、それはそのサイトがパスワードを平文か、それに近い形で保存している兆候です。正しくハッシュ化していれば、入力の長さや文字種はハッシュの長さに影響しないので、制限する理由がありません。そういうサイトでは、他で使っていないパスワードを使うことがとくに重要になります。

📖 使い方

  1. 1
    文字種と長さを設定
    英大文字・英小文字・数字・記号のチェックボックスで使う文字種を選び、スライダーで長さを 4〜64 文字で調整します。重要な用途には 16 文字以上を推奨します。
  2. 2
    生成数を指定して「生成」
    生成数に 1〜50 を指定し「生成」ボタンをクリックします。各パスワードにはエントロピー推定値と強度ラベルが表示されます。
  3. 3
    パスワードをコピーして保管
    各パスワード行の「コピー」ボタンでクリップボードにコピーします。生成後は必ずパスワードマネージャー等に保管し、このページを閉じる前に記録してください。

❓ よくある質問

このツールは本当に安全な乱数を使っていますか?
はい。ブラウザの Web Crypto API の crypto.getRandomValues() を使用しており、暗号論的に安全な乱数です。Math.random() のような予測可能な乱数は一切使いません。
類似文字除外オプションとは何ですか?
0 (ゼロ)・O (大文字オー)・o (小文字オー)・1 (数字イチ)・l (小文字エル)・I (大文字アイ) など、見た目が紛らわしい文字を除外します。手書きで書き写す際に役立ちます。
生成されたパスワードはサーバーに送信されますか?
送信されません。パスワードの生成はすべてブラウザ内で完結し、どこにも送信されません。ページを閉じると生成されたパスワードは消えます。
🐛 このツールで問題が発生しましたか?

完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。

※ 不具合再現のため、ブラウザ情報 (UA / 画面サイズ / 言語 / URL) を自動で送信します