#安全随机 #来源 #跨平台 #数据 #硬件 # #操作系统

无需std getrandom

一个用于从系统源获取随机数据的小型跨平台库

32个版本

0.2.15 2024年5月6日
0.2.12 2024年1月9日
0.2.11 2023年11月8日
0.2.10 2023年6月6日
0.1.0 2019年3月23日

#2 in 操作系统

Download history 2787361/week @ 2024-05-03 2875748/week @ 2024-05-10 2907377/week @ 2024-05-17 2833929/week @ 2024-05-24 3135551/week @ 2024-05-31 3098319/week @ 2024-06-07 3016881/week @ 2024-06-14 3044485/week @ 2024-06-21 2798556/week @ 2024-06-28 2928939/week @ 2024-07-05 3014346/week @ 2024-07-12 3055609/week @ 2024-07-19 3063004/week @ 2024-07-26 3035327/week @ 2024-08-02 3281743/week @ 2024-08-09 2558525/week @ 2024-08-16

每月下载量:12,502,044
用于 27,545 个crate(1,020 直接使用)

MIT/Apache

79KB
987

getrandom

Build Status Crate Documentation Dependency Status Downloads License

一个用于从(操作)系统源获取随机数据的Rust库。假设系统总是提供高质量的加密安全随机数据,理想情况下由硬件熵源支持。该crate的名称来源于Linux的getrandom函数,但它是跨平台的,大致支持与Rust的std库相同的平台集合。

这是一个低级API。大多数用户应该优先使用高级随机数库,如rand

用法

将其添加到您的Cargo.toml

[dependencies]
getrandom = "0.2"

然后调用getrandom函数

fn get_random_buf() -> Result<[u8; 32], getrandom::Error> {
    let mut buf = [0u8; 32];
    getrandom::getrandom(&mut buf)?;
    Ok(buf)
}

有关支持的目标、熵源、no_std目标、crate功能、WASM支持和自定义RNG的更多信息,请参阅getrandom文档和getrandom::Error文档。

最低支持的Rust版本

此crate需要Rust 1.36.0或更高版本。

平台支持

此crate通常支持与Rust标准库相同的操作系统和平台版本。可以使用可插拔的自定义实现支持其他目标。

这意味着随着Rust在稳定版本中取消对旧操作系统版本(如旧Linux内核版本、Android API级别等)的支持,getrandom可能会创建新的补丁版本(0.N.x),以取消对过时平台版本的支持。

许可证

getrandom库根据您的选择,可以分发给

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您提交的任何旨在包含在作品中的贡献都将双重授权,如上所述,没有任何附加条款或条件。

依赖项

~2–710KB
~13K SLoC