The insecure interface for insecure pseudo-random numbers.
It is intended to be portable at least between Unix-family platforms and Windows.
Functions
get-insecure-random-bytes: func(max-len: u64) -> list<u8>since 0.3.0
Return up to max-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.
Implementations MAY return fewer bytes than requested (a short read).
Callers that require exactly max-len bytes MUST call this function in
a loop until the desired number of bytes has been accumulated.
Implementations MUST return at least 1 byte when max-len is greater
than zero. When max-len is zero, implementations MUST return an empty
list without trapping.
get-insecure-random-u64: func() -> u64since 0.3.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.3.0)
interface insecure {
/// Return up to `max-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.
///
/// Implementations MAY return fewer bytes than requested (a short read).
/// Callers that require exactly `max-len` bytes MUST call this function in
/// a loop until the desired number of bytes has been accumulated.
/// Implementations MUST return at least 1 byte when `max-len` is greater
/// than zero. When `max-len` is zero, implementations MUST return an empty
/// list without trapping.
@since(version = 0.3.0)
get-insecure-random-bytes: func(max-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.3.0)
get-insecure-random-u64: func() -> u64;
}