-1

I want to generate a UUID from a custom random number generator:

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);
}

How do I get the bytes?

Shepmaster
  • 388,571
  • 95
  • 1,107
  • 1,366
Amiya Behera
  • 2,210
  • 19
  • 32

1 Answers1

3

I think I have done it.

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);
}
Shepmaster
  • 388,571
  • 95
  • 1,107
  • 1,366
Amiya Behera
  • 2,210
  • 19
  • 32