1 use std::env;
2 use std::fs::File;
3 use std::hash::Hasher;
4 use std::io::{BufRead, BufReader};
5 use twox_hash::XxHash64;
6 
main()7 fn main() {
8     for arg in env::args().skip(1) {
9         let f = File::open(&arg).unwrap();
10         let mut f = BufReader::new(f);
11 
12         let mut hasher = XxHash64::with_seed(0);
13 
14         loop {
15             let consumed = {
16                 let bytes = f.fill_buf().unwrap();
17                 if bytes.is_empty() {
18                     break;
19                 }
20                 hasher.write(bytes);
21                 bytes.len()
22             };
23             f.consume(consumed);
24         }
25 
26         println!("{:16x}   {}", hasher.finish(), arg);
27     }
28 }
29