componentized/directory

wasi:random

interface dependency

WASI random number generation interfaces

interface insecure wasi:random/insecure@0.2.12 since 0.2.0

The insecure interface for insecure pseudo-random numbers.

It is intended to be portable at least between Unix-family platforms and Windows.

Functions

functionget-insecure-random-bytes: func(len: u64) -> list<u8>since 0.2.0

Return len insecure pseudo-random bytes.

This function is not cryptographically secure. Do not use it for anything related to security.

There are no requirements on the values of the returned bytes, however implementations are encouraged to return evenly distributed values with a long period.

functionget-insecure-random-u64: func() -> u64since 0.2.0

Return an insecure pseudo-random u64 value.

This function returns the same type of pseudo-random data as get-insecure-random-bytes, represented as a u64.

WIT

/// The insecure interface for insecure pseudo-random numbers.
///
/// It is intended to be portable at least between Unix-family platforms and
/// Windows.
@since(version = 0.2.0)
interface insecure {
  /// Return `len` insecure pseudo-random bytes.
  ///
  /// This function is not cryptographically secure. Do not use it for
  /// anything related to security.
  ///
  /// There are no requirements on the values of the returned bytes, however
  /// implementations are encouraged to return evenly distributed values with
  /// a long period.
  @since(version = 0.2.0)
  get-insecure-random-bytes: func(len: u64) -> list<u8>;

  /// Return an insecure pseudo-random `u64` value.
  ///
  /// This function returns the same type of pseudo-random data as
  /// `get-insecure-random-bytes`, represented as a `u64`.
  @since(version = 0.2.0)
  get-insecure-random-u64: func() -> u64;
}