生成・ユーティリティ

パスワード生成

長さ・文字種・紛らわしい文字除外等を指定して、暗号学的に安全な乱数でランダムなパスワードを最大10個まとめて生成します。処理はブラウザ内で完結し、生成したパスワードはサーバーへ送信されません。

入力データはサーバーへ送信されませんインストール不要無料で使えます
使用する文字種

「Password生成」を押すと、ここに生成結果が表示されます。

このツールでできること

Password生成の主な機能です。

  • 長さ(8〜128文字。既定16文字)を指定してPasswordを生成できます
  • 英大文字・英小文字・数字・記号から使用する文字種を選べます(選択した文字種は必ず1文字以上含まれます)
  • 紛らわしい文字(0 O o 1 l I)や任意の文字を除外できます
  • 1回で最大10個のPasswordをまとめて生成し、個別または一括でコピーできます
  • crypto.getRandomValues()による暗号学的に安全な乱数で生成し、ブラウザ内で処理が完結します(サーバーへ送信・保存しません)

使い方

Passwordを生成する手順を説明します。

手順を見る
  1. Password長・使用する文字種・紛らわしい文字除外・除外文字・生成数を設定します(既定値のままでも生成できます)
  2. 「Password生成」を押します
  3. 生成されたPasswordを確認します。画面共有時等は「表示/非表示」を切り替えられます
  4. 個別コピーまたは「すべてコピー」でクリップボードへコピーします

こんなときに使えます

こんな場面でパスワード生成が役立ちます。

利用シーンを見る
  • テスト用アカウントや検証環境用のCredentialをすぐに用意したいとき
  • 管理画面やサービス登録用に強いPasswordを作りたいとき
  • 複数の候補からPasswordを選びたいとき
  • Hash Generator等でPasswordのHash化を試す前に、元となるPasswordを用意したいとき

パスワード生成の仕組みについて

暗号学的に安全な乱数の利用方法・必須文字種の保証方法・Entropyの意味を説明します。

詳しい解説を見る

暗号学的に安全な乱数(CSPRNG)について

本ツールはPassword生成の乱数に、ブラウザ標準のcrypto.getRandomValues()のみを使用します。Math.random()は一切使用せず、独自の乱数アルゴリズムも実装していません。

Modulo Biasを避ける仕組みについて

乱数バイトから文字候補を選ぶ際、単純に「バイト値を候補数で割った余り」を使うと、候補数によって一部の文字が選ばれやすくなる偏り(Modulo Bias)が生じることがあります。本ツールはRejection Sampling(偏りが生じる範囲の値を再抽選する方式)を用いて、この偏りを避けています。

必須文字種の保証について

選択した文字種(英大文字・英小文字・数字・記号)は、確率的な偶然ではなく、仕組みとして必ず1文字以上含まれるように生成しています。各文字種から先に1文字ずつ選び、残りの文字を全体の候補から選んだうえで、最後に全体の並び順をランダム化しています。

紛らわしい文字除外・除外文字について

「紛らわしい文字を除外」をONにすると、見間違えやすい0 O o 1 l Iの6文字を候補から除外します。「除外する文字」には、利用先システムの制約等に応じて任意の文字を個別に指定できます。両方を同時に指定することもできます。

Entropy(参考値)について

表示している推定Entropyは、文字プールサイズとPassword長から計算した理論上の参考値です。選択文字種を必須にする本ツールの生成方式は、単純にすべての文字を独立かつ一様に抽出する場合の計算とは厳密には異なります。「弱い」「強い」等の断定的な判定は行いません。

保存・送信について

生成したPasswordは、ブラウザ内の処理だけで生成されます。サーバーへ送信せず、localStorage・sessionStorage・IndexedDB等へも保存しません。ページを再読み込みすると生成結果は消え、復元されません。本ツールはPipeline機能(他ツールへの連携)にも対応していません。生成Passwordのような秘密情報を、履歴やURL等に残す経路を作らないための意図的な設計です。

よくある質問

生成したPasswordは保存されますか?

保存されません。ページを再読み込みすると生成結果は消え、復元されません。

生成したPasswordはサーバーに送信されますか?

送信されません。Password生成はブラウザ内のcrypto.getRandomValues()のみで完結します。

UUID生成・ULID生成の値をPasswordの代わりに使ってもいいですか?

推奨しません。UUID/ULIDは識別子であり、本ツールのようにPassword用途で安全性を考慮して設計されたものではありません。

Entropy(推定bit数)はどういう意味ですか?

文字プールサイズとPassword長から計算した理論上の参考値です。選択文字種を必須にする本ツールの生成方式は単純な独立一様抽出とは厳密には異なるため、目安としてご利用ください。「弱い/強い」等の断定的な判定は行いません。

このツールはPipeline機能(他ツールへの連携)に対応していますか?

対応していません。生成Passwordは秘密情報であり、Pipeline機能の履歴やURLなどへ残る経路を作らないための意図的な設計です。

「紛らわしい文字を除外」と「除外する文字」は何が違いますか?

「紛らわしい文字を除外」は0/O/o/1/l/Iの6文字を除外する機能です。「除外する文字」は、利用先システムの制約等に応じて任意の文字を個別に除外できる機能です。