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}