コンテンツへスキップ

暗号学的セキュア ランダムパスワード生成器

window.crypto.getRandomValues を利用してブラウザ内で高強度なパスワードを安全に生成。100% クライアント処理、通信送信やストレージ保存なし。

設定を調整して「パスワードを生成」をクリックしてください

暗号学的セキュア ランダムパスワード生成器

100% クライアント CSPRNG

window.crypto.getRandomValues を利用してブラウザ内で高強度なパスワードを安全に生成。100% クライアント処理、通信送信やストレージ保存なし。

使用文字種

20 文字
82064128
使用文字種

パスワード強度

パスワード強度:非常に強い
文字プール数: 89推定シャノンエントロピー: ~129.5 ビット

エントロピーは文字プールと長さに基づく理論的推定値であり、標的型攻撃や辞書攻撃に対する完全な保証ではありません。

生成されたパスワード

設定を調整して「パスワードを生成」をクリックしてください

生成されたパスワードはサーバーへ一切送信されず、localStorage 等の永続ストレージにも保存されません。

Cryptographically Secure Randomness vs. Pseudo-Random Number Generators

Standard JavaScript Math.random() relies on pseudo-random number algorithms (such as xorshift128+) designed for speed rather than cryptographic unpredictability. Because PRNG internal state can be reconstructed from observed sequence outputs, passwords generated via Math.random() are fundamentally vulnerable to reverse-engineering and statistical prediction attacks.

This tool utilizes window.crypto.getRandomValues(), which interfaces directly with the host operating system's cryptographic random number generator (such as /dev/urandom on Linux and macOS or CryptGenRandom / BCryptGenRandom on Windows). This guarantees true cryptographically secure pseudo-randomness (CSPRNG) with maximum information entropy.

Information Entropy Calculation (Shannon Entropy)

Password strength is mathematically measured in bits of entropy using Shannon's entropy formula:

Entropy (bits) = L * log2(R)
  • L = Password length in characters
  • R = Size of the available character pool (e.g. 90 unique characters when uppercase, lowercase, numbers, and symbols are enabled)

A 20-character password drawn from a pool of 90 characters delivers approximately 130 bits of entropy, requiring an astronomical 2130 brute-force attempts to exhaust the keyspace—far exceeding modern supercomputing capabilities.

Guaranteed Character Representation and Unbiased Shuffling

Many simplistic password generators pick random characters from a concatenated pool, which creates a probabilistic risk that a required character class (such as special symbols or digits) might be omitted in a specific password.

Our generator enforces strict representation: at least one character is selected directly from each active class, remaining positions are populated uniformly from the combined pool using rejection sampling to eliminate modulo bias, and the entire character array undergoes an unbiased cryptographic Fisher-Yates shuffle.

Zero-Retention & Zero-Backend Privacy Architecture

In accordance with strict zero-knowledge security standards:

  • 100% Client-Side: All computations execute strictly within your local browser JavaScript engine. No passwords, seeds, or parameters are ever sent to an external server.
  • Zero Persistence: Generated passwords exist solely in ephemeral memory and are never written to localStorage, sessionStorage, cookies, or indexed databases.
  • Zero Auto-Copy: Passwords are never placed into your system clipboard without an explicit user click on the Copy action button, preventing clipboard snooping attacks.

Frequently Asked Questions

生成されたパスワードがサーバーに送信されることはありますか?
いいえ。すべての処理はブラウザの window.crypto.getRandomValues API を用いてローカルメモリ上で完結し、外部通信は一切行われません。
Math.random ではなく crypto.getRandomValues を使う理由は何ですか?
Math.random は決定論的な疑似乱数であり、攻撃者による予測が可能です。crypto.getRandomValues は OS の暗号学的エントロピー源から安全な真の乱数を取得します。
パスワードはブラウザの履歴やローカルストレージに保存されますか?
一切保存されません。パスワードは React の一時メモリにのみ保持され、localStorage には文字数などの非機密な設定のみが記録されます。