1 个不稳定版本
0.1.0 | 2023年8月19日 |
---|
#1626 在 算法 中
17KB
226 行
normalized-hash
跨平台哈希算法。
这是库 crate。如果您正在寻找二进制 crate,请访问 normalized-hasher
。
摘要
此哈希算法允许即使在意外将文件从使用 UNIX 行结束符 (LF) 转换为 Windows 行结束符 (CRLF) 时也能保持一致的哈希值。有关此类情况可能发生的原因以及为什么您应该关心此类情况的长期激励性演讲,请访问 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);
}
依赖项
~465KB
~10K SLoC