
Outil forensique en ligne de commande qui identifie plus de 90 algorithmes de hachage (MD5, bcrypt, SHA256) à partir de valeurs uniques, de fichiers ou d'analyses récursives de répertoires, avec export en JSON, YAML et texte.
Remarque : il s'agit d'un projet étudiant
Une chaîne aléatoire comme 'b318c90ba09d05dfc9ff3991974eee68' peut assurément sembler effrayante. N'ayez plus peur, HashPrint veille sur vous.
HashPrint est un outil forensique en ligne de commande capable d'identifier quel algorithme (comme MD5, bcrypt, SHA256) a produit cette chaîne d'apparence effrayante, appelée hash, comme celle ci-dessus.
Nécessite Python 3.14+
Si vous installez avec pip, vous devez avoir Python 3.14 ou supérieur installé sur votre système
$ pip install pyhashprint
OU avec uv
uv installe la bonne version de Python si nécessaire
Configurez d'abord un environnement virtuel :
$ uv venv
Puis installez :
$ uv pip install pyhashprint
Utiliser sans installer
Nécessite uv
$ uv tool run pyhashprint
OU
$ uvx pyhashprint
| Option | Objectif |
|---|---|
| -h, --help | affiche le message d'aide et quitte. |
| -f, --hash-file | cette option prend en argument un chemin vers un fichier texte. Avec cette option, HashPrint lira le fichier au chemin spécifié à la recherche de hashes. Le fichier doit contenir un hash par ligne. |
| -c, --hash | cette option prend un hash en argument et l'identifie. Il doit être entre guillemets simples et sans le préfixe 0x. |
| -x, --format | cette option vous permet de choisir entre les formats d'export. Vous pouvez exporter les résultats aux formats JSON, YAML et texte. Cette option ne peut pas fonctionner sans l'option -p, --path. |
| -p, --path | cette option spécifie le chemin du fichier d'export. Si un chemin vers un fichier préexistant est spécifié, il sera écrasé s'il contient déjà du contenu. Si le fichier au chemin spécifié n'existe pas, HashPrint le créera. |
| -w, --walk | cette option analyse récursivement un répertoire au chemin spécifié à la recherche de fichiers texte, contenant un hash par ligne. |
| -v, --version | cette option affiche le numéro de version de HashPrint. |
Pour l'aide
$ hashprint --help
Afficher le numéro de version
$ hashprint --version
Identifier un seul hash
$ hashprint -c 'a9993e364706816aba3e25717850c26c9cd0d89d'
OU
$ hashprint --hash 'a9993e364706816aba3e25717850c26c9cd0d89d'
Identifier plusieurs hashes
$ hashprint -c '0cc175b9c0f1b6a831c399e269772661' -c 'e8b7be43'
Identifier des hashes depuis un fichier + exporter les résultats vers un fichier
$ hashprint -f path/to/txt/file/containing/hashes -x text -p path/of/export/file
La commande ci-dessus exporte les résultats dans un format texte lisible par l'humain dans un fichier de votre choix. HashPrint créera le fichier s'il n'existe pas.
Scanner récursif de répertoire + export des résultats vers un fichier
$ hashprint -w path/to/directory -x format -p path/of/export/file
Ce projet est sous licence MIT.
Vous avez trouvé un bug ou avez une idée pour une nouvelle fonctionnalité ?
-Pour les bugs : Ouvrir une Issue.
-Suggérer une fonctionnalité ou une amélioration : Ouvrir une Issue.
-Pour de nouvelles idées ou des questions : N'hésitez pas à lancer un fil de discussion dans Discussions !