fluvio_system_util/
generators.rs1use rand::prelude::*;
8use std::i32;
9
10pub fn rand_correlation_id() -> i32 {
12    thread_rng().gen_range(0, 65535)
13}
14
15pub fn generate_group_id() -> String {
17    format!("fluvio-consumer-{}", thread_rng().gen_range(50001, 65535))
18}
19
20#[allow(dead_code)]
21pub fn generate_secret() -> String {
23    const CHARSET: &[u8] = b"abcdefghijklmnopqrstuvwxyz\
24                            0123456789";
25
26    const SECRET_SIZE: usize = 16;
27    let secret: String = (0..SECRET_SIZE)
28        .map(|_| {
29            let idx = thread_rng().gen_range(0, CHARSET.len());
30            char::from(unsafe { *CHARSET.get_unchecked(idx) })
32        })
33        .collect();
34
35    secret
36}
37
38#[allow(dead_code)]
39pub fn generate_auth_token() -> (String, String) {
41    const CHARSET: &[u8] = b"abcdefghijklmnopqrstuvwxyz\
42                            0123456789";
43
44    const ID_SIZE: usize = 6;
45    let token_name: String = (0..ID_SIZE)
46        .map(|_| {
47            let idx = thread_rng().gen_range(0, CHARSET.len());
48            char::from(unsafe { *CHARSET.get_unchecked(idx) })
50        })
51        .collect();
52
53    const SECRET_SIZE: usize = 16;
54    let token_secret: String = (0..SECRET_SIZE)
55        .map(|_| {
56            let idx = thread_rng().gen_range(0, CHARSET.len());
57            char::from(unsafe { *CHARSET.get_unchecked(idx) })
59        })
60        .collect();
61
62    (token_name, token_secret)
63}
64
65#[allow(dead_code)]
66pub fn rand_session_id() -> i32 {
68    thread_rng().gen_range(1024, i32::MAX)
69}
70
71#[allow(dead_code)]
72pub fn generate_random_key() -> String {
74    const CHARSET: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\
75                            abcdefghijklmnopqrstuvwxyz\
76                            0123456789)(*&^%$#@!~";
77    const SIZE: usize = 32;
78    let key: String = (0..SIZE)
79        .map(|_| {
80            let idx = thread_rng().gen_range(0, CHARSET.len());
81            char::from(unsafe { *CHARSET.get_unchecked(idx) })
83        })
84        .collect();
85
86    key
87}