> 生成 | 安全 | 保護 <
// 暗号化的に安全なパスワードを即座に生成
暗号化ランダム
crypto.getRandomValues()を使用した真の暗号化ランダム。
完全カスタマイズ
長さ、文字セット、紛らわしい文字の除外を選択。
一括生成
一度に最大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) |
|---|---|---|
| 8 | 47.6 | 52.4 |
| 12 | 71.5 | 78.7 |
| 16 | 95.3 | 104.9 |
| 20 | 119.1 | 131.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() を使い、ローカルで動作し送信しません。