Skip to main content

RandomSource

Trait RandomSource 

Source
pub trait RandomSource {
    // Required method
    fn gen_hasher_seed(&self) -> usize;
}
Expand description

A supplier of Randomness used for different hashers. See set_random_source.

If set_random_source aHash will default to the best available source of randomness. In order this is:

  1. OS provided random number generator (available if the runtime-rng flag is enabled which it is by default) - This should be very strong.
  2. Strong compile time random numbers used to permute a static “counter”. (available if compile-time-rng is enabled. Enabling this is recommended if runtime-rng is not possible)
  3. A static counter that adds the memory address of each RandomState created permuted with fixed constants. (Similar to above but with fixed keys) - This is the weakest option. The strength of this heavily depends on whether or not ASLR is enabled. (Rust enables ASLR by default)

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§