mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-08 04:56:43 +00:00
we have to keep all the targets around, because hosted mode also uses rand, which won't resolve correctly unless we also have the host's target available, unfortunately (trust me, tried to do a version stripped down just for xous...)
64 lines
2.2 KiB
Markdown
64 lines
2.2 KiB
Markdown
# getrandom
|
|
|
|
[![Build Status]][GitHub Actions] [![Crate]][crates.io] [![Documentation]][docs.rs] [![Dependency Status]][deps.rs] [![Downloads]][crates.io] [![License]][LICENSE-MIT]
|
|
|
|
[GitHub Actions]: https://github.com/rust-random/getrandom/actions?query=workflow:Tests+branch:master
|
|
[Build Status]: https://github.com/rust-random/getrandom/workflows/Tests/badge.svg?branch=master
|
|
[crates.io]: https://crates.io/crates/getrandom
|
|
[Crate]: https://img.shields.io/crates/v/getrandom
|
|
[docs.rs]: https://docs.rs/getrandom
|
|
[Documentation]: https://docs.rs/getrandom/badge.svg
|
|
[deps.rs]: https://deps.rs/repo/github/rust-random/getrandom
|
|
[Dependency Status]: https://deps.rs/repo/github/rust-random/getrandom/status.svg
|
|
[Downloads]: https://img.shields.io/crates/d/getrandom
|
|
[LICENSE-MIT]: https://raw.githubusercontent.com/rust-random/getrandom/master/LICENSE-MIT
|
|
[License]: https://img.shields.io/crates/l/getrandom
|
|
|
|
|
|
A Rust library for retrieving random data from (operating) system source. It is
|
|
assumed that system always provides high-quality cryptographically secure random
|
|
data, ideally backed by hardware entropy sources. This crate derives its name
|
|
from Linux's `getrandom` function, but is cross platform, roughly supporting
|
|
the same set of platforms as Rust's `std` lib.
|
|
|
|
This is a low-level API. Most users should prefer using high-level random-number
|
|
library like [`rand`].
|
|
|
|
[`rand`]: https://crates.io/crates/rand
|
|
|
|
## Usage
|
|
|
|
Add this to your `Cargo.toml`:
|
|
|
|
```toml
|
|
[dependencies]
|
|
getrandom = "0.2"
|
|
```
|
|
|
|
Then invoke the `getrandom` function:
|
|
|
|
```rust
|
|
fn get_random_buf() -> Result<[u8; 32], getrandom::Error> {
|
|
let mut buf = [0u8; 32];
|
|
getrandom::getrandom(&mut buf)?;
|
|
Ok(buf)
|
|
}
|
|
```
|
|
|
|
For more information about supported targets, entropy sources, `no_std` targets,
|
|
crate features, WASM support and Custom RNGs see the
|
|
[`getrandom` documentation](https://docs.rs/getrandom/latest) and
|
|
[`getrandom::Error` documentation](https://docs.rs/getrandom/latest/getrandom/struct.Error.html).
|
|
|
|
## Minimum Supported Rust Version
|
|
|
|
This crate requires Rust 1.34.0 or later.
|
|
|
|
# License
|
|
|
|
The `getrandom` library is distributed under either of
|
|
|
|
* [Apache License, Version 2.0](LICENSE-APACHE)
|
|
* [MIT license](LICENSE-MIT)
|
|
|
|
at your option.
|