
단일 값, 파일 또는 재귀적 디렉터리 스캔에서 90개 이상의 해시 알고리즘(MD5, bcrypt, SHA256)을 식별하고 JSON, YAML, 텍스트로 내보낼 수 있는 CLI 포렌식 도구입니다.
참고: 이것은 학생 프로젝트입니다
분명히 'b318c90ba09d05dfc9ff3991974eee68' 같은 무작위 문자열은 무섭게 보일 수 있습니다. 더 이상 두려워하지 마세요, HashPrint가 도와드립니다.
HashPrint는 위와 같은 무섭게 생긴 문자열, 즉 해시를 생성한 알고리즘(예: MD5, bcrypt, SHA256)을 식별할 수 있는 포렌식 CLI 도구입니다.
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 라이선스에 따라 라이선스가 부여됩니다.
버그를 발견했거나 새로운 기능에 대한 아이디어가 있으신가요?
-버그의 경우: 이슈 열기.
-기능 또는 개선 사항 제안: 이슈 열기.
-새로운 아이디어나 질문: Discussions에서 자유롭게 스레드를 시작하세요!