> 生成 | 安全 | 保護 <

// 暗号化的に安全なパスワードを即座に生成

強度: —
エントロピー: 0 ビット
[CRYPTO]

暗号化ランダム

crypto.getRandomValues()を使用した真の暗号化ランダム。

[CUSTOM]

完全カスタマイズ

長さ、文字セット、紛らわしい文字の除外を選択。

[FREE]

一括生成

一度に最大20個のパスワードを生成。

// パスワード生成について

仕組み:

このジェネレーターはWeb Crypto APIのcrypto.getRandomValues()メソッド(CSPRNG)を使用します。各文字は暗号化的にランダムな32ビット符号なし整数を使用して選択されます。

例:

Kj9#mP2$xR7!nQ4&

ジェネレーターを使う理由:

  • >crypto.getRandomValues() APIによるCSPRNG
  • >エントロピー計算が実際の強度を表示
  • >あらゆるポリシーに対応する設定可能な文字プール
  • >プロビジョニングワークフロー用の一括生成
  • >100%クライアントサイド — パスワードはブラウザの外に出ません

>> よくある質問

Q: なぜパスワードジェネレーターを使うのか?

A: 人間はランダムなパスワードを作るのが苦手です。暗号化ジェネレーターは真にランダムで高エントロピーのパスワードを生成します。

Q: これらのパスワードは安全ですか?

A: 非常に安全です。crypto.getRandomValues()を使用し、パスワードは完全にデバイス上で生成されます。

Q: パスワードエントロピーとは?

A: エントロピーはパスワードの強度をビットで測定します。log2(プールサイズ^長さ)として計算されます。80+ビットが強いとされます。

Q: 推奨のパスワードの長さは?

A: ほとんどのアカウントには16文字以上。高セキュリティには20-32文字。

Q: パスフレーズ vs ランダムパスワード?

A: どちらも安全です。ランダムパスワードは短いが記憶しにくい。パスフレーズは長いが記憶しやすい。

// 長さ別のエントロピー(ビット)

長さ英数字(62)印字可能な全文字(94)
847.652.4
1271.578.7
1695.3104.9
20119.1131.1

// コマンドラインでパスワードを生成

openssl       openssl rand -base64 18
Linux         tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 20
Python        secrets.token_urlsafe(16)
Node.js       crypto.randomBytes(16).toString('base64url')
Browser       crypto.getRandomValues(new Uint32Array(8))

entropy (bits) = length x log2(alphabet size)

>> その他の質問

Q: 長いパスワードは短くて複雑なものより良いですか?

A: 一般的にはそうです。1文字増えるごとにエントロピーは log2(文字種数) ビット増えます。英数字16文字(約95ビット)は、記号入りの8文字(約52ビット)を大きく上回ります。

Q: 生成したパスワードを使い回してもよいですか?

A: いいえ。アカウントごとに別のパスワードを使い、パスワードマネージャーに保存してください。使い回すと、1件の漏えいがすべてのアカウントへの侵入につながります。

Q: パスワードにMath.random()を使わないのはなぜですか?

A: Math.random() は予測可能で、セキュリティ用途ではありません。このジェネレーターはブラウザの暗号論的に安全な乱数 crypto.getRandomValues() を使い、ローカルで動作し送信しません。

// 他の言語