Trait RandomSource

trait RandomSource

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

fn gen_hasher_seed(self: &Self) -> usize