Skip to main content

Host

Trait Host 

Source
pub trait Host {
    // Required methods
    fn get_insecure_random_bytes(&mut self, max_len: u64) -> Result<Vec<u8>>;
    fn get_insecure_random_u64(&mut self) -> Result<u64>;
}
Available on crate feature p3 only.

Required Methods§

Source

fn get_insecure_random_bytes(&mut self, max_len: u64) -> Result<Vec<u8>>

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.

Source

fn get_insecure_random_u64(&mut self) -> Result<u64>

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.

Implementations on Foreign Types§

Source§

impl<_T: Host + ?Sized> Host for &mut _T

Source§

fn get_insecure_random_bytes(&mut self, max_len: u64) -> Result<Vec<u8>>

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.

Source§

fn get_insecure_random_u64(&mut self) -> Result<u64>

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.

Implementors§