Skip to main content

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

Project description

This tool only provides Simplified Chinese user interface.

简介

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

有以下功能:

  • 将磁盘文件的hash值大小路径登记时间数据库ID保存到数据库的hash链中
  • 验证数据库中的记录,检查记录的路径、hash值、大小
  • 验证磁盘文件,将hash值、大小、路径与数据库中的记录对比
  • 仅打印数据库中的记录
  • 仅计算磁盘文件的hash值

建议配置环境变量使用。目前大多数下载网站提供sha256值,因此默认使用sha256算法。

CLI命令

路径使用glob语法:* ? [] **

🟢添加文件信息到数据库:

filehash add 'E:\software\python-3.13.12-amd64.exe'
filehash a 'E:\software\*.exe'
filehash a 'E:\software\**\*.exe' # **遍历子目录
filehash a '*.exe' # 当前目录下所有.exe文件
filehash a '*'     # 当前目录下所有文件

🟠验证数据库中的记录:

# 如果磁盘文件已被删除,会提示文件不存在,但不会中止。
filehash verify_record '*\python*.exe'
filehash vr '*\software\*.exe'
filehash vr '*\software\**\*.exe'
filehash vr '*.exe' # 验证数据库中的所有.exe文件
filehash vr '*'     # 验证数据库中的所有记录

🔵验证磁盘上的文件:

# 如果数据库中没有该hash值、大小的数据,程序会报错、中止。
# 此功能可Windows/Linux双系统时使用
filehash verify_file 'E:\software\python-3.13.12-amd64.exe'
filehash vf 'E:\software\*.exe'
filehash vf 'E:\software\**\*.exe'

🟤在终端运行filehash,打印完整的帮助信息:

PS E:\> filehash
usage: filehash [-h] [-m HASH_METH] [-n] [--db-dir DIR] [--backup-dir DIR] [--backup-size SIZE]
                [CMD] [PATH]

文件hash校验。版本: 2.3.6
https://pypi.org/project/filehash-tool

positional arguments:
  CMD                   命令
  PATH                  路径,使用glob语法,*表示所有文件,dir/**/*.exe遍历子目录。

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

可用命令:
  add/a                     登记文件到数据库
  verify_record/vr          验证数据库中的记录
  print_record/pr           打印数据库中的记录
  print_existing_record/per 打印数据库中尚存在的记录
  verify_file/vf            验证磁盘文件
  print_file/pf             计算文件hash值 (不加载数据库)
  print_accumulated_hash    打印指定ID的累积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
当前创建数据库使用的hash算法: sha256

更新日志

2.3.0: 对数据库记录的glob语法:支持**遍历子目录,运行在Linux/macOS时不再区分大小写、可使用/\匹配数据库记录的路径分隔符。

2.2.0: 数据库向前不兼容。改变数据库格式,所有元素加入hash链。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fh_tool-2.3.6.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fh_tool-2.3.6-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file fh_tool-2.3.6.tar.gz.

File metadata

  • Download URL: fh_tool-2.3.6.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for fh_tool-2.3.6.tar.gz
Algorithm Hash digest
SHA256 3955faf5465147f2299433ddd7de928ffd2b8e0a8a8edea0412bce976e95a12c
MD5 d7166e793c524b9f0a6c8c82588d0ef6
BLAKE2b-256 b68ba973d9b501f6f39b8f9d09edb9458423e3e70b787fd4bc50cc97e48708f6

See more details on using hashes here.

File details

Details for the file fh_tool-2.3.6-py3-none-any.whl.

File metadata

  • Download URL: fh_tool-2.3.6-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for fh_tool-2.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 60ddf97a6ef2898d417e9c5a4e4fcfb4c7049bac55fdb435f06496ec98bfa55c
MD5 04de7111c565ed2d44022eb0d828e055
BLAKE2b-256 0d5397171f361c041c3293a0fe7107cdf347458ae08531eae3804249a80238d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page