use md5::{Digest, Md5}; use std::{ collections::HashMap, fs::File, io::{BufWriter, Write}, }; fn main() -> std::io::Result<()> { let mut map = HashMap::new(); for i in 0u32..=std::u32::MAX { let mut hasher = Md5::new(); hasher.update(i.to_le_bytes()); let out = hasher.finalize(); let key = out[out.len() - 1]; *map.entry(key).or_insert(0) += 1; if i % 100_000 == 0 { println!("{i}"); } } let mut count_list = map.into_iter().collect::>(); count_list.sort(); let file = File::create("./countmap.txt")?; let mut writer = BufWriter::new(file); for (k, v) in count_list { writeln!(writer, "{:02x}: {}", k, v)?; } Ok(()) }