# `nupp.random.spi` Implementation interfaces consumed during ordinary module initialization. Discover with nupp.spi.load; the consumer chooses the unique highest priority. Omitted priority is zero. Importing these declarations loads no implementation. ## Types ### `Provider` _interface_ ```nupp interface Provider ... ``` Cryptographically secure randomness for the executing host. Use the host secure random source and propagate its failures. Deterministic pseudo-random generators do not satisfy this contract. Host requests may suspend. #### Members | Name | Kind | Description | | --- | --- | --- | | [`priority`](#nupp.random.spi.Provider.priority) | field | | | [`randomBytes`](#nupp.random.spi.Provider.randomBytes) | method | Returns exactly count random bytes. | #### `priority` _field_ ```nupp priority: integer? ``` `@readonly` #### `randomBytes` _method_ ```nupp randomBytes: function(count: integer): string ``` `@readonly` Returns exactly count random bytes. Accepts integers from zero through 1048576; zero returns an empty string. Raises on invalid counts or failure. ##### Arguments | Name | Type | Description | | --- | --- | --- | | `count` | `integer` | | ##### Returns | Type | Description | | --- | --- | | `string` | |