14 个版本 (6 个重大更新)
新 0.7.1 | 2024年8月16日 |
---|---|
0.7.0 | 2024年7月26日 |
0.6.0 | 2024年1月25日 |
0.2.2 | 2020年11月18日 |
0.2.1 | 2020年2月9日 |
776 在 命令行工具 中
每月254次 下载
73KB
234 行
关于
文件哈希检查器是一个满足以下要求的最小解决方案:
- 按顺序(循环、迭代器)或并行(线程、消息、
rayon
并行迭代器)计算一个或多个文件的 SHA256 或 BLAKE3 哈希。 - 提供库 API
- 通过
criterion
进行基准测试 - 最小依赖:
blake3
、sha2
、anyhow
、clap
、rayon
- 提供 CLI 工具
- 比
sha256sum
、b3sum
更简单、更直接的使用方式 - 将哈希保存到相邻的哈希文件中(如果不存在)(
.sha256
、.b3
) - 将当前哈希与相邻的哈希文件(如果存在)进行比较
- 比
用法
$ fhc -h
File hash checker (SHA256, BLAKE3)
Usage: fhc [OPTIONS] [FILES]...
Arguments:
[FILES]... File(s)
Options:
-a <ALGORITHM> Algorithm [default: blake3] [possible values: blake3,
sha256]
-p, --process <PROCESS> Approach for processing multiple files [default:
rayon-par-iter] [possible values: rayon-par-iter,
sequential-for-loop, sequential-iter, threading,
messaging]
-h, --help Print help
-V, --version Print version
$ fhc -V
fhc 0.7.1
示例
- 运行
fhc
对一个或多个文件进行操作,计算并打印每个文件的 SHA256 或 BLAKE3 哈希到 stdout 并保存到相邻的哈希文件中。 - 在任何后续时间,运行
fhc
对一个或多个文件与相邻的哈希文件进行操作,重新计算每个文件的哈希,如果哈希匹配则报告OK
,如果哈希不匹配则报告FAILED
。
基准测试
变更日志
- 0.1.0 (2020-02-03):首次发布
- 0.2.1 (2020-02-09):生成与
.sha256
文件兼容的sha256sum -c
- 0.2.2 (2020-11-18):更新 sha2 crate 版本
- 0.3.0 (2024-01-07):现代化
- 0.4.0 (2024-01-24):将
sequential
进程选项重命名为sequentialforloop
;添加sequentialiter
和rayonpariter
进程选项;将大部分进程选项逻辑从CLI移动到库中,通过进程选项函数和进程选项run
方法;添加criterion
基准测试;修复变更日志;更新依赖- 0.4.1 (2024-01-24):修复readme
- 0.4.2 (2024-01-24):修复变更日志
- 0.5.0 (2024-01-24):添加
blake3
和-a
选项- 0.5.1 (2024-01-24):修复readme
- 0.5.2 (2024-01-25):修复文档
- 0.5.3 (2024-01-25):修复readme
- 0.6.0 (2024-01-25):将CLI默认值更改为
-a blake3
和-p rayon-par-iter
- 0.7.0 (2024-07-26):如果文件为零,则打印帮助信息;修复makefile;更新依赖
- 0.7.1 (2024-08-16):修复makefile;修复变更日志;修复readme;更新依赖
依赖
~6–18MB
~228K SLoC