#hash #directory #cross-platform #checksum #cli

app dircs

一个用于获取文件或目录哈希的小型跨平台工具

11 个版本

0.1.9 2024年5月23日
0.1.8 2023年11月19日
0.1.7 2023年6月22日
0.1.4 2023年5月31日

#248命令行工具

Download history 158/week @ 2024-05-21 1/week @ 2024-05-28 3/week @ 2024-06-04 46/week @ 2024-07-02 46/week @ 2024-07-23 29/week @ 2024-07-30

每月75次下载

Apache-2.0

20KB
379 代码行

dircs

crates.io link

一个用于获取文件或目录哈希的小型跨平台工具。附带多种哈希函数可供选择。

注意:我主要编写这个工具是为了个人使用,所以可能有很多粗糙的地方。欢迎提交 pull requests、功能请求或错误报告。

安装

dircs 位于 crates.io,可以使用 cargo 进行安装

cargo install dircs --locked

截至编写本文时,dircs 已通过 Rust 1.69.0 进行测试以构建。

用法

$ dircs /your/path/here
/your/path/here -> 72ce3b5f2df28051cf7204712fe93de6b7b6d1f8e8fe5972b117a248423c290c

默认情况下,dircs 将使用 BLAKE3(禁用内存映射)和自动并行级别。

运行 dircs -h 以查看更多选项。

支持的哈希函数

目前支持以下哈希函数

  • BLAKE3
  • BLAKE2
  • MD5
  • SHA1
  • SHA2(摘要大小为256、384、512)
  • SHA3(摘要大小为256、384、512)

如何确定哈希值?

对于单个文件或仅有一个文件的目录,dircs 将使用指定的哈希函数对文件进行哈希处理,并将字节输出为十六进制字符串。

对于包含多个文件的目录,我们执行以下操作

  1. 对于每个文件,使用选择的哈希函数获取哈希值。如果可能,并行执行。
  2. 使用生成的哈希值列表,按文件名排序。
  3. 按此顺序将每个哈希值输入到选择的哈希函数中,生成一个最终的哈希值,然后将其输出为十六进制字符串。

感谢

感谢

  • 使用了我所使用的所有库的库作者。
  • b3sum 的作者,我参考了很多。

依赖项

~6.5MB
~120K SLoC