normalized-hash

![badge github] ![badge crates.io] ![badge docs.rs] ![badge license]

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

```rust no_run use std::path::PathBuf;

use normalized_hash::Hasher;

fn main() { let filein = PathBuf::from("input.txt"); let fileout = 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);

} ```