1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
pub fn gen_ascii_keys(length : u32) -> Vec<String> { let mut keys : Vec<String> = Vec::new(); let max = 128u32.pow(length); for i in 0..max { let mut value = i; let mut key = String::new(); for j in (0..length).rev() { let digit = value / 128u32.pow(j); value = value - digit * 128u32.pow(j); key.push_str(format!("{}", (digit as u8) as char).as_str()); } keys.push(key); } keys }