How to generate an array of random bytes from a seed?
本问题已经有最佳答案,请猛点这里访问。
我想从自定义随机数生成器生成UUID:
1 2 3 4 5 6 7 8 9 10 11 12 13 | use uuid::{Builder, Uuid, Variant, Version}; use rand::{Rng, SeedableRng, rngs::StdRng, RngCore}; fn main() { let seed = [5u8; 32]; let mut rng: StdRng = SeedableRng::from_seed(seed); let bytes = ??? let uuid = Builder::from_bytes(bytes) .set_variant(Variant::RFC4122) .set_version(Version::Random) .build(); println!("{:?}", uuid); } |
如何获取字节?
我想我已经做到了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | use rand::{rngs::StdRng, RngCore, SeedableRng}; use uuid::{Builder, Variant, Version}; fn main() { let seed = [0u8; 32]; let mut rng: StdRng = SeedableRng::from_seed(seed); let mut bytes = [0u8; 16]; rng.fill_bytes(&mut bytes); let uuid = Builder::from_bytes(bytes) .set_variant(Variant::RFC4122) .set_version(Version::Random) .build(); println!("{:?}", uuid); } |