Metadata-Version: 2.4
Name: filehash-tool
Version: 2.1.3
Summary: 本CLI工具用于计算、存储、验证磁盘文件的hash值，可检查文件是否被篡改。
Author-email: Ma Lin <malincns@163.com>
License-Expression: MIT
Project-URL: Repository, https://bitbucket.org/wjssz/filehash
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: System :: Archiving :: Backup
Classifier: Topic :: System :: Shells
Classifier: Topic :: Utilities
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: colorama

### 简介

This tool only provides Simplified Chinese user interface.

本CLI工具用于计算、存储、验证磁盘文件的hash值，可检查文件是否被篡改。

有以下功能：

- 将磁盘文件的hash值、大小、路径保存到数据库的hash链中
- 验证数据库中的记录，检查记录的路径、hash值、大小
- 验证磁盘文件，将hash值、大小、路径与数据库中的记录对比
- 只计算磁盘文件的hash值

### CLI命令

添加文件信息到数据库中：
```
filehash add 'E:\software\python-3.13.12-amd64.exe‘
```

遍历数据库中的记录，如果文件仍在磁盘，验证文件的hash值、大小：
```
如果磁盘文件已被删除，会提示文件不存在，但不会中止。
filehash verify_record '*.exe'
filehash verify_record '*'
```

检查磁盘上的文件，hash值、大小是否在数据库中：
```
可以Windows/Linux双系统时使用，支持glob路径语法。
如果数据库中没有该hash值、大小的数据，程序会中止。
filehash verify_file 'E:\software\**\*.exe'
```

在终端运行filehash，打印完整的帮助信息：
```
PS E:\> filehash
usage: filehash [-h] [-m hash_meth] [-n] [--db-dir db_dir] [--backup-dir backup_dir]
                [--backup-size backup_size]
                [cmd] [path]

文件hash校验。版本: 2.1.3

positional arguments:
  cmd                   命令
  path                  路径，支持glob语法。

options:
  -h, --help            show this help message and exit
  -m, --hash-meth hash_meth
                        创建数据库时使用的hash算法，覆盖FILEHASH_HASH_METH环境变量。
  -n, --no-space        打印hash时，不添加空格。
  --db-dir db_dir       数据库目录，覆盖FILEHASH_DB_DIR环境变量。
  --backup-dir backup_dir
                        备份保存的数据库目录，覆盖FILEHASH_BACKUP_DIR环境变量。
  --backup-size backup_size
                        备份保存的数据库数量，覆盖FILEHASH_BACKUP_SIZE环境变量。

可用命令:
  add/a                     登记文件到数据库
  verify_record/vr          验证数据库中的记录
  print_record/pr           打印数据库中的记录
  print_existing_record/per 打印数据库中尚存在的记录
  verify_file/vf            验证文件
  print_file/pf             计算文件hash (不加载数据库)

保证存在的hash算法: blake2b, blake2s, md5, sha1, sha224, sha256, sha384, sha3_224, sha3_256, sha3_384, sha3_512, sha512, shake_128, shake_256
其它可用的hash算法: md5-sha1, ripemd160, sha512_224, sha512_256, sm3
```
