
CLI-инструмент для криминалистического анализа, который определяет более 90 хеш-алгоритмов (MD5, bcrypt, SHA256) по отдельным значениям, файлам или при рекурсивном сканировании каталогов, с экспортом в JSON, YAML и текстовом формате.
Примечание: это студенческий проект
Безусловно, случайная строка вроде 'b318c90ba09d05dfc9ff3991974eee68' может выглядеть пугающе. Не бойтесь больше, HashPrint прикроет вашу спину.
HashPrint — это криминалистический инструмент командной строки, который может определить, какой алгоритм (например, 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 и text. Эта опция не может работать без опции -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!