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.4.0
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.4.0: 改进hash链,对于一些hash算法可以保留更多内部状态。

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

filehash_tool-2.4.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

filehash_tool-2.4.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file filehash_tool-2.4.0.tar.gz.

File metadata

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

File hashes

Hashes for filehash_tool-2.4.0.tar.gz
Algorithm Hash digest
SHA256 1c80b57da4dbb3b82c8719ac00f6a360602ea04c15f45c48da94f0f412f380d9
MD5 17149cab3b36bcd77bf6adab88700522
BLAKE2b-256 95c8382e43d028cfd6527c98d737db99d209e6a3a2fa79e9b6fffd83fd1edd3d

See more details on using hashes here.

File details

Details for the file filehash_tool-2.4.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for filehash_tool-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58dbf8b7bd4fe79548e92ae506059ded931182a849f6c699c7a0d97d48faf9e7
MD5 419b03c3e2132b7269a6d3629fb594d9
BLAKE2b-256 90dbc40ef08e444af56f938e90437e4186aecd1b4c5208f43622dce973f99bed

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