注意:这是一个学生项目
像 'b318c90ba09d05dfc9ff3991974eee68' 这样的随机字符串看起来确实很吓人。 不用再害怕了,HashPrint 为你保驾护航。
HashPrint 是一款取证 CLI 工具,可以识别出是哪种算法(如 MD5、bcrypt、SHA256)生成了上面那种看起来吓人的字符串,也就是哈希值。
需要 Python 3.14+
如果使用 pip 安装,那么你的系统上必须安装 Python 3.14 或更高版本
$ pip install pyhashprint
或者使用 uv
如有必要,uv 会安装正确的 Python 版本
首先设置虚拟环境:
$ uv venv
然后安装:
$ uv pip install pyhashprint
无需安装即可使用
需要 uv
$ uv tool run pyhashprint
或者
$ uvx pyhashprint
| 选项 | 用途 |
|---|---|
| -h、--help | 显示帮助信息并退出。 |
| -f、--hash-file | 此选项接受一个文本文件路径作为参数。使用此选项时,HashPrint 将读取指定路径的文件以查找哈希。该文件必须每行包含一个哈希。 |
| -c、--hash | 此选项接受一个哈希作为参数并识别它。它应放在单引号之间,且不带 0x 前缀。 |
| -x、--format | 此选项让你在导出格式之间进行选择。你可以将结果导出为 JSON、YAML 和文本格式。此选项不能脱离 -p、--path 选项使用。 |
| -p、--path | 此选项指定导出文件的路径。如果指定的是已存在文件的路径,且该文件已包含内容,则会被覆盖。如果指定路径的文件不存在,HashPrint 将创建它。 |
| -w、--walk | 此选项递归扫描指定路径的目录,以查找每行包含一个哈希的文本文件。 |
| -v、--version | 此选项显示 HashPrint 的版本号。 |
获取帮助
$ hashprint --help
显示版本号
$ hashprint --version
识别单个哈希
$ hashprint -c 'a9993e364706816aba3e25717850c26c9cd0d89d'
或者
$ hashprint --hash 'a9993e364706816aba3e25717850c26c9cd0d89d'
识别多个哈希
$ hashprint -c '0cc175b9c0f1b6a831c399e269772661' -c 'e8b7be43'
从文件识别哈希 + 将结果导出到文件
$ hashprint -f path/to/txt/file/containing/hashes -x text -p path/of/export/file
上述命令会将结果以人类可读的文本格式导出到你选择的文件中。如果文件不存在,HashPrint 将创建它。
递归目录扫描器 + 将结果导出到文件
$ hashprint -w path/to/directory -x format -p path/of/export/file
本项目采用 MIT 许可证。
发现了错误或有新功能的想法?
-对于错误: 提交 Issue。
-建议功能或改进: 提交 Issue。
-对于新想法或问题: 欢迎在 Discussions 中发起讨论!