乱数生成器
暗号学的に安全な範囲内の乱数を生成。整数、小数、バッチ生成に対応。
乱数生成器について
この乱数生成器はすべてブラウザ内で完結し、Web Crypto API(crypto.getRandomValues)を使用して暗号学的に安全な乱数を生成します。最小値と最大値を設定し、必要な数を選んで生成をクリックします。すべての乱数はデバイス上でローカルに生成され、アップロードされません。
乱数とは?
真の乱数は放射性崩壊や熱雑音などの物理現象から得られます。コンピュータは決定論的であるため、エントロピー源をシードとしたアルゴリズムで擬似乱数を生成します。crypto.getRandomValuesの背後にある暗号学的に安全な擬似乱数生成器(CSPRNG)は、OSのエントロピープールを使用してセキュリティ用途に十分予測不可能な数値を生成します。
CSPRNGとPRNGの違い
- PRNG(
Math.random())—— 高速だが予測可能。ゲーム、UIアニメーション、非セキュリティ用途向け。同じシードなら同じシーケンスを生成。 - CSPRNG(
crypto.getRandomValues)—— より遅いが予測不能。セキュリティトークン、パスワードリセット、抽選、攻撃者が次の値を予測してはいけないあらゆる場面で必須。
本ツールはCSPRNGパスを使用するため、出力はあらゆる目的に適しています。
主なユースケース
- 抽選・くじ引き —— 公平かつ予測不能に当選者を選出。
- サンプリングと調査 —— 母集団からランダムなサブセットを選択。
- ゲーム —— サイコロ、カードシャッフル、ドロップアイテム。
- 統計とシミュレーション —— モンテカルロ法やランダム化実験。
- セキュリティトークン —— ワンタイムコードや短命資格情報(本番環境ではより強力なKDFと併用)。
よくある質問
数値はどのように生成されますか? crypto.getRandomValuesを使用。OSのエントロピープールを基盤とするブラウザの暗号学的に安全なRNGです。
最大生成数は? 1回あたり最大1000個です。それ以上必要な場合は再度生成をクリックするかスクリプトを使用してください。
重複を除外できますか? はい。整数生成時に重複なしを有効化してください。範囲内で一意の値が見つかるまで再試行します。
小数はどう扱われますか? 小数は小数点以下6桁に丸められます。範囲はminとmaxの両端を含みます。