Skip to main content

Comprehensive hash and token analyzer with persistent mode for security professionals

Project description

HashID Analyzer

PyPI version Python Version License Downloads GitHub Issues GitHub Stars

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 commands
  • history - View analysis history
  • stats - Show session statistics
  • clear - Clear screen
  • quit - 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 none algorithm 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 hashlib library
  • JWT specification from RFC 7519
  • Cryptocurrency address formats from respective blockchain documentation
  • Security research community for vulnerability patterns and recommendations

Support

Stats

GitHub Contributors GitHub Last Commit GitHub Repo Size


Full credit to Blackploit HashID project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hashid_analyzer-2.0.0.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hashid_analyzer-2.0.0-py2.py3-none-any.whl (18.7 kB view details)

Uploaded Python 2Python 3

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

Hashes for hashid_analyzer-2.0.0.tar.gz
Algorithm Hash digest
SHA256 6b4b786dfe1d822b3e250753482fd80370f8bd16e8824a33c05daf5350e332e5
MD5 06bacc54c657e38e393c98479a66382b
BLAKE2b-256 08756942cc9fb53eab7178d66f5bd9c562227127c37bdac5777379ce0ecc2f31

See more details on using hashes here.

File details

Details for the file hashid_analyzer-2.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for hashid_analyzer-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e6995b547473c95e771df95e72e535813af5f509148be111c9288af0836d9127
MD5 6ec0bba4780a8a98a7dc2acf69e9671c
BLAKE2b-256 71e7647b15cf2d2daaf3413c0b44da9466a0a14bb515e391e7205a2abc20ce3d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page