使用 web_sys 生成随机数数组
Generating an array of random numbers using web_sys
我正在尝试使用 web_sys
crate
用随机数填充向量
像这样:
extern crate web_sys;
use web_sys::Crypto;
// ...
fn main() {
// ...
let mut arry = [0u8; 128];
let crypto = Crypto::new();
crypto.get_random_values_with_u8_array(&mut arry)
// ...
}
Crypto
结构没有实现 new
方法,文档也没有提到实例化结构所需的字段。
我已将 Crypto
作为功能包含在我的 Cargo.toml
文件中:
[dependencies.web-sys]
version = "0.3"
features = [
"Crypto"
]
这是相关的文档页面:
https://docs.rs/web-sys/0.3.35/i686-unknown-linux-gnu/web_sys/struct.Crypto.html
有人用过吗?
感谢 Masklinn 的评论,我能够通过获取 Window 的实例并在其上调用 crypto
来实现它。
let mut rand_arry = [0u8; 128];
let window_instance = web_sys::window().unwrap();
let crypto = window_instance.crypto.unwrap();
crypto.get_random_values_with_u8_array(&mut rand_arry).unwrap();
确保将 Crypto
和 Window
声明为 web-sys 特征
[dependencies.web-sys]
version = "0.3"
features = [
"Window",
"Crypto"
]
我正在尝试使用 web_sys
crate
像这样:
extern crate web_sys;
use web_sys::Crypto;
// ...
fn main() {
// ...
let mut arry = [0u8; 128];
let crypto = Crypto::new();
crypto.get_random_values_with_u8_array(&mut arry)
// ...
}
Crypto
结构没有实现 new
方法,文档也没有提到实例化结构所需的字段。
我已将 Crypto
作为功能包含在我的 Cargo.toml
文件中:
[dependencies.web-sys]
version = "0.3"
features = [
"Crypto"
]
这是相关的文档页面:
https://docs.rs/web-sys/0.3.35/i686-unknown-linux-gnu/web_sys/struct.Crypto.html
有人用过吗?
感谢 Masklinn 的评论,我能够通过获取 Window 的实例并在其上调用 crypto
来实现它。
let mut rand_arry = [0u8; 128];
let window_instance = web_sys::window().unwrap();
let crypto = window_instance.crypto.unwrap();
crypto.get_random_values_with_u8_array(&mut rand_arry).unwrap();
确保将 Crypto
和 Window
声明为 web-sys 特征
[dependencies.web-sys]
version = "0.3"
features = [
"Window",
"Crypto"
]