Structure

SystemRandomNumberGenerator

The system’s default source of random data. システムの持つ省略時の無作為データのソース。

Declaration 宣言

@frozen struct SystemRandomNumberGenerator

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つのメソッド呼び出しは同等です:


let x = Int.random(in: 1...100)
var g = SystemRandomNumberGenerator()
let y = Int.random(in: 1...100, using: &g)

SystemRandomNumberGenerator is automatically seeded, is safe to use in multiple threads, and uses a cryptographically secure algorithm whenever possible. SystemRandomNumberGeneratorは、自動的にシードをえらびます、複数のスレッドにおける使用を安全にします、そして可能な時はいつでも暗号化保安アルゴリズムを使います。

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_buf(3). Appleプラットホームは、arc4random_buf(3)を使います。

  • Linux platforms use getrandom(2) when available; otherwise, they read from /dev/urandom. Linuxプラットホームは、getrandom(2)を利用可能な場合は使います;そうでなければ、それらは/dev/urandomから読み出します。

  • Windows uses BCryptGenRandom. Windowsは、BCryptGenRandomを使います。

Topics 話題

Creating a Generator 生成子を作成する

Generating Random Binary Data 無作為なバイナリデータを生成する

Relationships 関係

Conforms To 次に準拠

See Also 参照

Random Number Generators 無作為数生成子