use rand::{RngCore, thread_rng};
pub fn uuid4() -> String {
let random_bytes = get_random_bytes();
let mut hex_string = String::new();
for (i, byte) in random_bytes.iter().enumerate() {
if [4, 6, 8, 10].contains(&i) {
hex_string.push_str("-");
}
hex_string.push_str(&format!("{:02x}", byte));
}
hex_string
}
fn get_random_bytes() -> [u8; 16] {
let mut rng = thread_rng();
let mut bytes = [0_u8; 16];
rng.fill_bytes(&mut bytes);
bytes
}