When talking about random number generators, there is an excellent crate that cannot be skipped: rand. Since Rust's standard library does not include a random function, this crate provides that, and more.
In particular, there are several implementations that come with the rand crate, ranging from regular PRNGs, to an interface to the OS number generator (/dev/random on Unix-like systems), including a compatible interface for other targets, such as web assembly!
The features are impossible to describe in this chapter, so more information on these can be found in their own book (https://rust-random.github.io/book/).