diff options
Diffstat (limited to 'vendor/twox-hash/src/bin')
-rw-r--r-- | vendor/twox-hash/src/bin/hash_file.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/vendor/twox-hash/src/bin/hash_file.rs b/vendor/twox-hash/src/bin/hash_file.rs new file mode 100644 index 000000000..509b48d68 --- /dev/null +++ b/vendor/twox-hash/src/bin/hash_file.rs @@ -0,0 +1,28 @@ +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); + } +} |