Crates.io | normalized-hash |
lib.rs | normalized-hash |
version | 0.1.0 |
source | src |
created_at | 2023-08-19 23:52:13.878632 |
updated_at | 2023-08-19 23:52:13.878632 |
description | Cross-platform hash algorithm. |
homepage | |
repository | https://github.com/FloGa/normalized-hasher |
max_upload_size | |
id | 948965 |
size | 17,493 |
Cross-platform hash algorithm.
This is the library crate. If you're looking for the binary crate instead, go
to normalized-hasher
.
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
.
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);
}