Repository navigation
v1.3.0
专业哈希计算工具 - 使用说明书
作者:杜玛
版权永久所有
目录
简介
专业哈希计算工具是一款功能强大的文件校验工具,支持多种哈希算法(MD5、SHA1、SHA256、SHA512),可用于验证文件完整性、检测重复文件、比对文件哈希值等。本工具具有直观的用户界面,支持拖拽操作,适合各类用户使用。
功能概述
主要功能
- 支持多种哈希算法计算
- 文本、文件、多文件和目录哈希计算
- 哈希值比对功能
- 自动检测重复文件
- 历史记录功能
- 结果导出功能
- 深色/浅色主题切换
- 自适应布局
适用人群
- 普通用户:验证下载文件的完整性
- 开发人员:校验程序文件
- 系统管理员:批量检查文件一致性
- 安全人员:文件指纹分析
安装与运行
系统要求
- Windows 操作系统
- Python 3.6 或更高版本
安装方法
- 确保已安装Python环境
- 下载程序文件(MD5CalculatorApp.py)
- 可选:安装依赖库
pip install tkinterdnd2 pyinstaller
运行方式
- 直接运行:
python MD5CalculatorApp.py - 打包为EXE:
pyinstaller -w MD5CalculatorApp.py
基本使用
1. 选择输入方式
- 文本输入:直接输入文本内容计算哈希
- 文件输入:计算单个文件的哈希值
- 多文件输入:批量计算多个文件的哈希值
- 目录输入:计算整个目录下文件的哈希值
2. 选择哈希算法
从下拉菜单中选择:MD5、SHA1、SHA256或SHA512
3. 计算哈希
点击"计算哈希"按钮开始计算
4. 查看结果
计算结果将显示在右侧面板中
详细功能介绍
文本哈希计算
- 选择"文本输入"方式
- 在文本框中输入内容
- 点击"计算哈希"
- 结果将显示在右侧
示例:计算"Hello World"的MD5值
文件哈希计算
- 选择"文件输入"方式
- 点击"浏览..."选择文件或直接拖拽文件到输入框
- 点击"计算哈希"
- 结果将显示文件名和对应的哈希值
专业说明:大文件采用分块计算方式,避免内存溢出
多文件哈希计算
- 选择"多文件输入"方式
- 通过"添加文件"或拖拽方式添加多个文件
- 点击"计算哈希"
- 结果将以表格形式显示
技巧:按住Ctrl键可多选文件
目录哈希计算
- 选择"目录输入"方式
- 点击"浏览..."选择目录或直接拖拽目录
- 设置文件过滤条件(可选)
- 点击"计算哈希"
- 结果将以表格形式显示
高级选项:
- 包含子目录
- 按扩展名过滤
高级功能
哈希比对
- 勾选"比对模式"
- 输入目标哈希值
- 计算后会自动显示比对结果
- 匹配:绿色显示
- 不匹配:红色显示
应用场景:验证下载文件是否被篡改
重复文件检测
- 勾选"自动检测重复"
- 计算多文件或目录哈希
- 相同哈希值的文件会以黄色背景标记
专业建议:用于磁盘清理,找出重复文件
历史记录
- 自动保存最近50条计算记录
- 可通过"工具"菜单查看历史
- 支持从历史记录中复制哈希值
结果导出
支持将结果导出为:
- 文本文件(.txt)
- CSV文件(.csv)
- JSON文件(.json)
主题切换
提供浅色和深色两种主题,可通过"视图"菜单切换
布局调整
支持水平和垂直两种布局方式,自动适应窗口大小
常见问题
Q1: 计算大文件时程序无响应?
A: 这是正常现象,程序正在计算中。大文件计算需要时间,请耐心等待。
Q2: 如何验证下载文件的完整性?
A: 1) 计算文件的哈希值 2) 与官方提供的哈希值比对
Q3: 为什么相同内容的文件哈希值不同?
可能原因:
- 文件编码不同
- 文件包含不可见字符
- 文件元数据不同
Q4: 如何批量检查文件夹中的文件是否被修改?
A: 1) 首次计算目录哈希并保存结果 2) 定期重新计算并比对
技术细节
支持的哈希算法
- MD5 (128位)
- SHA1 (160位)
- SHA256 (256位)
- SHA512 (512位)
实现原理
- 小文件:一次性读取计算
- 大文件:分块读取计算(4096字节/块)
- 多线程计算,避免界面卡顿
性能优化
- 进度条显示计算进度
- 可中途停止计算
- 结果缓存提高重复计算速度
更新日志
版本 1.0.0
- 基础MD5计算功能
- 支持文本和文件输入
版本 1.1.0
- 增加多文件支持
- 添加拖拽功能
- 增加比对模式
版本 1.2.0
- 支持多种哈希算法
- 添加历史记录功能
- 增加主题切换
版本 1.3.0
- 改进用户界面
- 添加布局切换功能
- 优化性能
版权声明
本工具版权归作者杜玛所有,禁止用于商业用途。欢迎个人用户免费使用和传播。
如有任何问题或建议,请联系开发者。