
Herramienta forense de CLI que identifica más de 90 algoritmos hash (MD5, bcrypt, SHA256) a partir de valores individuales, archivos o escaneos recursivos de directorios, con exportación en JSON, YAML y texto.
Nota: este es un proyecto de estudiante
Seguramente una cadena aleatoria como 'b318c90ba09d05dfc9ff3991974eee68' puede parecer aterradora. No temas más, HashPrint te cubre las espaldas.
HashPrint es una herramienta forense de CLI que puede identificar qué algoritmo (como MD5, bcrypt, SHA256) produjo la cadena de aspecto aterrador, llamada hash, como la anterior.
Requiere Python 3.14+
Si instalas con pip, debes tener Python 3.14 o superior instalado en tu sistema
$ pip install pyhashprint
O con uv
uv instala la versión correcta de Python si es necesario
Primero configura un entorno virtual:
$ uv venv
Luego instala:
$ uv pip install pyhashprint
Usar sin instalar
Requiere uv
$ uv tool run pyhashprint
O
$ uvx pyhashprint
| Opción | Propósito |
|---|---|
| -h, --help | muestra el mensaje de ayuda y sale. |
| -f, --hash-file | esta opción toma como argumento una ruta a un archivo de texto. Con esta opción, HashPrint leerá el archivo en la ruta especificada en busca de hashes. El archivo debe contener un hash por línea. |
| -c, --hash | esta opción toma un hash como argumento y lo identifica. Debe ir entre comillas simples y sin el prefijo 0x. |
| -x, --format | esta opción te permite elegir entre los formatos de exportación. Puedes exportar los resultados en formatos JSON, YAML y texto. Esta opción no puede funcionar sin la opción -p, --path. |
| -p, --path | esta opción especifica la ruta del archivo de exportación. Si se especifica una ruta a un archivo preexistente, se sobrescribirá si ya contiene contenido. Si el archivo en la ruta especificada no existe, HashPrint lo creará. |
| -w, --walk | esta opción escanea recursivamente un directorio en la ruta especificada en busca de archivos de texto que contengan un hash por línea. |
| -v, --version | esta opción muestra el número de versión de HashPrint. |
Para obtener ayuda
$ hashprint --help
Mostrar el número de versión
$ hashprint --version
Identificar un solo hash
$ hashprint -c 'a9993e364706816aba3e25717850c26c9cd0d89d'
O
$ hashprint --hash 'a9993e364706816aba3e25717850c26c9cd0d89d'
Identificar múltiples hashes
$ hashprint -c '0cc175b9c0f1b6a831c399e269772661' -c 'e8b7be43'
Identificar hashes desde un archivo + exportar resultados a un archivo
$ hashprint -f path/to/txt/file/containing/hashes -x text -p path/of/export/file
El comando anterior exporta los resultados en un formato de texto legible por humanos en un archivo de tu elección. HashPrint creará el archivo si no existe.
Escáner recursivo de directorios + exportación de resultados a un archivo
$ hashprint -w path/to/directory -x format -p path/of/export/file
Este proyecto está licenciado bajo la licencia MIT.
¿Encontraste un error o tienes una idea para una nueva función?
-Para errores: Abre un Issue.
-Sugiere una función o una mejora: Abre un Issue.
-Para nuevas ideas o preguntas: ¡No dudes en iniciar un hilo en Discussions!