use rand::rngs::OsRng;
use rand::RngCore;
const BETTER_AUTH_CHARSET: &[u8; 64] =
b"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
pub fn generate_random_string(length: usize) -> String {
let mut output = String::with_capacity(length);
let mut random = vec![0_u8; length];
OsRng.fill_bytes(&mut random);
for byte in random {
let index = usize::from(byte & 0b0011_1111);
output.push(char::from(BETTER_AUTH_CHARSET[index]));
}
output
}