init()
Overview 概要
When you generate random values, shuffle a collection, or perform another operation that depends on random data, this type is the generator used by default. For example, the two method calls in this example are equivalent: あなたが無作為値を生成する、コレクションをシャッフルする、または無作為データに依存する他の操作を実行する場合、この型は省略時に使われる生成子です。例えば、この例での2つのメソッド呼び出しは同等です:
System
is automatically seeded, is safe to use in multiple threads, and uses a cryptographically secure algorithm whenever possible.
System
は、自動的にシードをえらびます、複数のスレッドにおける使用を安全にします、そして可能な時はいつでも暗号化保安アルゴリズムを使います。
Platform Implementation of SystemRandomNumberGenerator SystemRandomNumberGeneratorのプラットホーム実装
While the system generator is automatically seeded and thread-safe on every platform, the cryptographic quality of the stream of random data produced by the generator may vary. For more detail, see the documentation for the APIs used by each platform. システム生成子が全てのプラットホーム上で自動的にシードを決められてスレッド安全である一方で、生成子によって生み出される無作為データのストリームの暗号化品質は様々でしょう。詳細として、各プラットホームで使われるAPIの文書を見てください。
Apple platforms use
arc4random
. Appleプラットホームは、_buf(3) arc4random
を使います。_buf(3) Linux platforms use
getrandom(2)
when available; otherwise, they read from/dev/urandom
. Linuxプラットホームは、getrandom(2)
を利用可能な場合は使います;そうでなければ、それらは/dev/urandom
から読み出します。Windows uses
BCrypt
. Windowsは、Gen Random BCrypt
を使います。Gen Random