use std::env; | |
use std::fs::File; | |
use std::hash::Hasher; | |
use std::io::{BufRead, BufReader}; | |
use twox_hash::XxHash64; | |
fn main() { | |
for arg in env::args().skip(1) { | |
let f = File::open(&arg).unwrap(); | |
let mut f = BufReader::new(f); | |
let mut hasher = XxHash64::with_seed(0); | |
loop { | |
let consumed = { | |
let bytes = f.fill_buf().unwrap(); | |
if bytes.is_empty() { | |
break; | |
} | |
hasher.write(bytes); | |
bytes.len() | |
}; | |
f.consume(consumed); | |
} | |
println!("{:16x} {}", hasher.finish(), arg); | |
} | |
} |