LOYA Hash Detector is a local Python CLI tool for identifying likely hash formats. It detects formats only. It does not crack hashes, verify passwords, execute Hashcat, execute John the Ripper, or run attack workflows.
- Python
>=3.10 - No external runtime packages
- Works with Windows terminal, PowerShell, Linux terminal, and Kali Linux terminal
Requirements.txtis intentionally empty because the project uses only the Python standard library
Windows:
python .\LOYA_HASH_DETECTOR.py --version
python .\LOYA_HASH_DETECTOR.py ae11fd697ec92c7c98de3fac23aba525Linux and Kali Linux:
python3 LOYA_HASH_DETECTOR.py --version
python3 LOYA_HASH_DETECTOR.py ae11fd697ec92c7c98de3fac23aba525Install dependencies only if your workflow expects a requirements step:
python3 -m pip install -r Requirements.txt- Regex-based detector records with full-input matching
- Confidence scoring with strongest matches sorted first
- Match reasons for length, charset, prefix, separator, format, and mapping source
- Hashcat mode and John format hints when known
- Text output and JSON output
- Single-hash mode, file mode, direct absolute file path mode, and interactive menu mode
--top,--strict,--quiet,--version,--log-file, and--debugCLI flags- Optional JSONL operational logs for debugging
- Standard-library-only Python package
Detect one hash:
python3 LOYA_HASH_DETECTOR.py ae11fd697ec92c7c98de3fac23aba525Detect from a file:
python3 LOYA_HASH_DETECTOR.py --file hashes.txtDetect from a full file path without --file:
python3 LOYA_HASH_DETECTOR.py /home/kali/hashes.txtPrint JSON:
python3 LOYA_HASH_DETECTOR.py --json ae11fd697ec92c7c98de3fac23aba525Show fewer results:
python3 LOYA_HASH_DETECTOR.py --top 3 ae11fd697ec92c7c98de3fac23aba525Use strict matching:
python3 LOYA_HASH_DETECTOR.py --strict ae11fd697ec92c7c98de3fac23aba525Hide match details:
python3 LOYA_HASH_DETECTOR.py --quiet ae11fd697ec92c7c98de3fac23aba525Write JSONL logs:
python3 LOYA_HASH_DETECTOR.py --log-file loya.log ae11fd697ec92c7c98de3fac23aba525Run interactive menu:
python3 LOYA_HASH_DETECTOR.pyInteractive options:
1) HASH
2) File Directory
3) Exit
The same commands work on Windows with python and backslash paths:
python .\LOYA_HASH_DETECTOR.py --file .\hashes.txt
python .\LOYA_HASH_DETECTOR.py --json ae11fd697ec92c7c98de3fac23aba525
python .\LOYA_HASH_DETECTOR.py D:\scripts\HashTypeDetector\hashes.txtText output shows the detector name, confidence score, Hashcat hint, John hint, and short match reasons.
JSON output returns one object for a single hash and a list of objects for file mode.
- Windows:
python .\tests\test_basic.pypassed with24 tests passed - Windows:
python -m py_compile ...passed - Kali Linux WSL2:
python3 --versionreturnedPython 3.13.7 - Kali Linux WSL2:
python3 tests/test_basic.pypassed with24 tests passed - Kali Linux WSL2:
python3 -m py_compile ...passed - Kali Linux WSL2: real CLI detection command ran successfully
Because the app uses only Python standard-library modules and no OS-specific APIs, the same code path works on Windows and Linux.
0: success1: invalid CLI usage or unexpected runtime error2: file-related error
LOYA_HASH_DETECTOR.py
hashdetector/
__init__.py
cli.py
core.py
rules.py
tests/
test_basic.py
Doc/
loya-hash-detector-demo.gif
v1.md
README.md
Requirements.txt
Run tests:
python3 tests/test_basic.pyCompile check:
python3 -m py_compile LOYA_HASH_DETECTOR.py hashdetector/__init__.py hashdetector/cli.py hashdetector/core.py hashdetector/rules.py tests/test_basic.pyWindows alternatives:
python .\tests\test_basic.py
python -m py_compile .\LOYA_HASH_DETECTOR.py .\hashdetector\__init__.py .\hashdetector\cli.py .\hashdetector\core.py .\hashdetector\rules.py .\tests\test_basic.py- Detection only
- No password cracking
- No credential verification
- No Hashcat execution
- No John the Ripper execution
- No attack automation
- Keep Python code compact
- Do not add comments, docstrings, or blank-line-heavy formatting to Python files
- Keep detector records data-driven
- Use full-match regex patterns
- Add or update tests when behavior changes
- Keep the tool detection-only
- Verify Hashcat and John mapping hints against local builds before changing mappings
This build is 1.0.0.
