Comprehensive hash and token analyzer with persistent mode for security professionals
Project description
HashID Analyzer
A comprehensive, professional-grade tool for identifying and analyzing hash formats, authentication tokens, and encoded data. Enhanced with Blackploit HashID detection patterns for superior accuracy and coverage.
New in v2.0: Persistent Mode - Keep the analyzer running for continuous analysis without restarting!
Designed for penetration testers, red team operators, security researchers, and developers.
Features
Hash Detection & Analysis (Enhanced with Blackploit HashID)
- 110+ Hash Algorithms: MD5, SHA variants (1/224/256/384/512), BLAKE2, bcrypt, scrypt, PBKDF2
- Exotic Hash Support: Haval, RipeMD, Tiger, SNEFRU, Whirlpool, GOST R 34.11-94
- Windows/Unix Formats: NTLM, LM, Unix crypt variants ($1$, $5$, $6$), DES(Unix)
- Database Hashes: MySQL (old/new), PostgreSQL, Oracle formats
- Application-Specific: phpBB3, Wordpress, Joomla, Django framework hashes
- Gaming Hashes: Lineage II C4, MaNGOS variants
- Advanced Pattern Recognition: Blackploit-style confidence ranking system
- Multi-Algorithm Cracking: Tests against multiple hash algorithms simultaneously
Token & API Key Analysis
- JWT (JSON Web Token): Complete parsing, security vulnerability detection, expiration checks
- API Keys: GitHub, AWS, OpenAI, Slack, Google OAuth2 tokens
- Session Tokens: Base64 encoded session data analysis
- Security Assessment: Algorithm weakness detection, signature validation
Encoding & Decoding
- Base64 Variants: Standard and URL-safe Base64 encoding
- Character Encodings: Hex, URL encoding, HTML entities, Unicode escapes
- XOR Analysis: Single-byte XOR key detection with meaningful text filtering
- Nested Encoding: Multi-layer encoding detection and decoding
Cryptocurrency Support
- Bitcoin: P2PKH, P2SH, and Bech32 address formats
- Ethereum: Standard address validation
- Altcoins: Litecoin, Dogecoin, Ripple, Monero addresses
- Blockchain Integration: Ready for transaction history analysis
Advanced Analysis
- Shannon Entropy: Randomness and pattern detection
- Pattern Analysis: Repeating substrings, structural elements
- Online Lookups: Integration with hash databases (respectful rate limiting)
- Smart Recommendations: Context-aware security suggestions
Installation
From PyPI (Recommended)
# Install the latest stable version
pip install hashid-analyzer
# Install with optional dependencies for full features
pip install hashid-analyzer[full]
From Source
git clone https://github.com/ninxp07/hash-id.git
cd hash-id
pip install -e .
Optional Dependencies
# For enhanced JWT support and bcrypt analysis
pip install hashid-analyzer[full]
# Or install individually
pip install PyJWT bcrypt
System Requirements
- Python 3.7+
- pip (Python package manager)
- Internet connection (for online hash lookups)
Usage
Command Line Interface
Single Hash/Token Analysis
# Analyze an MD5 hash
hashid 5d41402abc4b2a76b9719d911017c592
# Analyze a JWT token
hashid eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWRtaW4ifQ.signature
# Analyze with quiet output
hashid -q 5d41402abc4b2a76b9719d911017c592
# Quick analysis (skip intensive operations)
hashid --quick 5d41402abc4b2a76b9719d911017c592
🆕 Persistent Mode (New in v2.0)
# Start persistent mode - keeps running for multiple analyses
hashid --persistent
# Quick persistent mode
hashid -p --quick
# Analyze one hash then enter persistent mode
hashid 5d41402abc4b2a76b9719d911017c592 --persistent
Persistent Mode Commands:
help- Show available commandshistory- View analysis historystats- Show session statisticsclear- Clear screenquit- Exit persistent mode
Batch Analysis
# Analyze multiple hashes from file
hashid --file hashes.txt
# Export batch results
hashid --file hashes.txt --export json
Interactive Mode
# Interactive analysis session
hashid --interactive
Export Results
# Export to JSON
hashid <hash> --export json
# Export to CSV
hashid <hash> --export csv --output my_analysis.csv
# Export to text report
hashid <hash> --export txt
Python Library Usage
import hashid
# Quick analysis (recommended)
result = hashid.analyze("5d41402abc4b2a76b9719d911017c592")
print(f"Detected formats: {result.results['detected_formats']}")
print(f"Entropy: {result.results['entropy']}")
# Fast analysis without intensive operations
result = hashid.quick_analyze("5d41402abc4b2a76b9719d911017c592")
# Advanced usage
from hashid import HashTokenAnalyzer
# Initialize analyzer
analyzer = HashTokenAnalyzer("5d41402abc4b2a76b9719d911017c592")
# Run comprehensive analysis
analyzer.comprehensive_analysis()
# Access detailed results
print(f"Detected formats: {analyzer.results['detected_formats']}")
print(f"Blackploit ranking: {analyzer.results.get('blackploit_analysis', {})}")
print(f"Entropy: {analyzer.results['entropy']}")
Output Examples
Enhanced Hash Analysis with Blackploit Ranking
[*] Analyzing input: 5d41402abc4b2a76b9719d911017c592
[*] Input length: 32 characters
[+] Detected potential formats: MD5, MD4, NTLM, Haval-128, Tiger-128...
[*] Shannon entropy: 3.480 bits
[*] Character frequency analysis:
Digits: 23/32 (71.9%)
Letters: 9/32 (28.1%)
Symbols: 0/32 (0.0%)
Blackploit-style confidence ranking:
Most likely: MD5
Alternative: MD4
Less likely: NTLM, Domain Cached Credentials, Haval-128
[!!!] Password found using MD5: 'hello'
JWT Analysis
[*] JWT Analysis - Algorithm: HS256, Type: JWT
[!] WARNING: Token expired on 2024-01-01T00:00:00
[*] Payload: {'user': 'admin', 'exp': 1704067200}
Cryptocurrency Address
[+] Detected potential formats: Bitcoin Address (P2PKH/P2SH)
[*] Recommendations: Cryptocurrency address detected - check blockchain explorers
Security Features
Responsible Disclosure
- Rate Limited: Online lookups use respectful rate limiting
- Privacy Focused: No data logging or external transmission without consent
- Defensive Only: Designed for legitimate security testing
Security Checks
- JWT algorithm validation (detects
nonealgorithm attacks) - Token expiration verification
- Weak algorithm detection
- Entropy-based randomness assessment
Advanced Features
Pattern Recognition
- Detects repeating substrings and structural patterns
- Identifies low-entropy data suggesting weak randomness
- Character frequency analysis for anomaly detection
Multi-Format Detection
- Simultaneous analysis across multiple potential formats
- Context-aware recommendations based on detected types
- Nested encoding detection (Base64 within URL encoding, etc.)
Extensible Architecture
- Modular design for easy addition of new hash types
- Plugin-style pattern detection system
- Configurable analysis depth and timeout settings
File Formats
Input File Format (for --file option)
# Comments start with #
5d41402abc4b2a76b9719d911017c592
098f6bcd4621d373cade4e832627b4f6
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWRtaW4ifQ.signature
1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2
Export Formats
- JSON: Complete analysis results with metadata
- CSV: Tabular format for spreadsheet analysis
- TXT: Human-readable report format
Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Development Setup
git clone https://github.com/ninxp07/hash-id.git
cd hash-id
python -m venv venv
source venv/bin/activate # On Windows: venv\\Scripts\\activate
pip install -e .[dev]
Running Tests
python -m pytest tests/
python -m pytest --cov=hashid tests/
Known Issues
- NTLM cracking requires additional dependencies on some systems
- Online lookups may timeout with poor network connectivity
- Large batch files (>10MB) may require increased memory
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This tool is intended for legitimate security testing and educational purposes only. Users are responsible for ensuring they have proper authorization before analyzing any data. The authors are not responsible for any misuse of this software.
Acknowledgments
- Hash algorithm implementations from Python's
hashliblibrary - JWT specification from RFC 7519
- Cryptocurrency address formats from respective blockchain documentation
- Security research community for vulnerability patterns and recommendations
Support
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- PyPI Package: hashid-analyzer
- Security: For security issues, please email xpalchemnist@gmail.com
Stats
Full credit to Blackploit HashID project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hashid_analyzer-2.0.0.tar.gz.
File metadata
- Download URL: hashid_analyzer-2.0.0.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b4b786dfe1d822b3e250753482fd80370f8bd16e8824a33c05daf5350e332e5
|
|
| MD5 |
06bacc54c657e38e393c98479a66382b
|
|
| BLAKE2b-256 |
08756942cc9fb53eab7178d66f5bd9c562227127c37bdac5777379ce0ecc2f31
|
File details
Details for the file hashid_analyzer-2.0.0-py2.py3-none-any.whl.
File metadata
- Download URL: hashid_analyzer-2.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6995b547473c95e771df95e72e535813af5f509148be111c9288af0836d9127
|
|
| MD5 |
6ec0bba4780a8a98a7dc2acf69e9671c
|
|
| BLAKE2b-256 |
71e7647b15cf2d2daaf3413c0b44da9466a0a14bb515e391e7205a2abc20ce3d
|