tigtools

パスワード生成

長さと使用する文字の種類を選ぶと、ブラウザーの暗号学的な乱数生成器でパスワードを作成できます。パスワードはお使いの端末上で生成され、外部に送信されません。

ブラウザー内で動作 登録不要

20
使用する文字

サイトで使えない記号がある場合は、このリストを編集してください。空白は無視され、重複する文字は1つとして扱われます。

生成されたパスワード

    129ビット
    推定エントロピー
    非常に強い
    強度
    89
    使用可能な文字数

    使い方

    1. スライダーで長さを設定するか、文字数を直接入力します(4~128文字)。
    2. 使用する文字の種類を選択します。Webサイトで使える記号が限られている場合は、記号の一覧を編集してください。
    3. 必要に応じて見間違えやすい文字を除外します。文字の種類に関するルールがあるサイトでは、「選択した種類をそれぞれ1文字以上使う」をオンにしてください。
    4. パスワードを1つずつコピーするか、「すべてコピー」で改行区切りのパスワードをまとめてコピーします。「もう一度生成」を押すと新しいパスワードが作られます。

    仕組み

    各文字は、ブラウザーに組み込まれた暗号学的に安全な乱数生成器 crypto.getRandomValues で選択されます。Math.random は使用しません。n文字の候補から1文字を選ぶときは、ツールが32ビットの乱数を生成し、nの最大の倍数を超える小さな余りの範囲に入った値を破棄します。この棄却サンプリングによって剰余バイアスを避け、候補のすべての文字がまったく同じ確率で選ばれるようにしています。

    「選択した種類をそれぞれ1文字以上使う」がオンの場合、まず選択した種類ごとに1文字を選び、残りの文字をすべての候補から選んで埋めた後、同じ偏りのない乱数を使った Fisher–Yates シャッフルですべての位置を並べ替えます。これにより、必ず含まれる文字が常に先頭に並ぶことはありません。

    エントロピーの値は log2(候補数) × 文字数で計算されます。デフォルトの89文字すべてから作る16文字のパスワードは約103ビット、20文字なら約129ビットです。「選択した種類をそれぞれ1文字以上使う」ルールによって、生成可能なパスワードの数は少し減るため、実際のエントロピーは表示よりわずかに低くなります。強度の表示は目安です。28ビット未満は非常に弱い、28~39ビットは弱い、40~59ビットは普通、60~99ビットは強い、100ビット以上は非常に強いことを示します。エントロピーはこのようにランダムに生成したパスワードの強度を表すもので、人が考えたパスワードの強度を示すものではありません。

    使用例

    パスワードマネージャーに保存するパスワード

    デフォルト設定(20文字、4種類すべて)を使用します。エントロピーは約129ビットで、推測は非常に困難です。パスワードマネージャーに保存しておけば、覚えておく必要もありません。

    一部の記号を使えないサイト

    銀行サイトで !@#$% しか使えない場合は、記号の一覧をこの5文字に置き換えます。候補は67文字に減りますが、16文字のパスワードならエントロピーは約97ビットです。

    テレビで入力するWi-Fiパスワード

    記号をオフにして、見間違えやすい文字を除外します。I、l、1、O、0、oを除いた残り56文字の英字と数字から作る16文字のパスワードは、読み上げやすく、エントロピーも約93ビットあります。

    よくある質問

    パスワードは何文字にすればよいですか?

    パスワードマネージャーで管理するアカウントなら、ランダムな16~20文字で十分です。頻繁に手入力する必要がある場合は、記号を含む短いパスワードより、英字と数字だけの長いパスワードのほうが入力しやすく、同等の強度を確保できます。

    Webサイトでパスワードを生成しても安全ですか?

    このページでは、OSの安全な乱数生成機能を使って、パスワードをすべてブラウザー内で作成します。サーバーに送信したり、保存したり、解析データに含めたりすることはありません。ページの読み込み後は、インターネットを切断しても使えます。

    見間違えやすい文字を除外すると、エントロピーが下がるのはなぜですか?

    エントロピーは、各位置に入る文字の候補数によって決まります。文字を除外すると候補が減るため、1文字あたりのビット数もわずかに減ります。文字数を少し増やせば、その分を補えます。

    「剰余バイアス」とは何ですか?なぜ問題になるのですか?

    単純な生成器では、乱数を候補数で割った余りを使います。候補数が乱数の範囲を均等に割り切れない場合、一部の文字がわずかに選ばれやすくなります。このツールは偏りが生じる余りの範囲を破棄して再抽選するため、すべての文字が等しい確率で選ばれます。

    プライバシー

    パスワードは crypto.getRandomValues を使ってブラウザー内で生成されます。アップロード、保存、記録、解析データへの送信は行われません。記録されるのは、ツールが使用されたことを示す匿名イベントのみです。コピーにはお使いの端末のクリップボードを使用します。