1 unstable release
0.1.0 | Aug 19, 2023 |
---|
#6 in #crlf
Used in normalized-hasher
17KB
226 lines
normalized-hash
Cross-platform hash algorithm.
This is the library crate. If you're looking for the binary crate instead, go
to normalized-hasher
.
Summary
This hashing algorithm allows consistent hashes even if you accidentally
convert a file from using UNIX line endings (LF) to Windows line endings
(CRLF). For a longish motivational speech about how such a thing can happen
and why you should want to even care about such a case, head over to
normalized-hasher
.
Code Example
use std::path::PathBuf;
use normalized_hash::Hasher;
fn main() {
let file_in = PathBuf::from("input.txt");
let file_out = PathBuf::from("output.txt");
// Simple example with default options, without writing an output file
let hash = Hasher::new().hash_file(&file_in, None::<PathBuf>);
println!("{}", hash);
// More complex example, with writing output
let hash = Hasher::new()
.eol("\r\n")
.no_eof(true)
.hash_file(&file_in, Some(file_out));
println!("{}", hash);
}
Dependencies
~460KB
~10K SLoC