Skip to content

RobCyberLab/Crypt-Hash-Cracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

🔗Crypt Hash Cracker🧩

Table of Contents

  1. Introduction
  2. Technical Description
  3. Technologies Used
  4. Main Features
  5. Use Cases
  6. Results and Insights
  7. Possible Improvements

Introduction📘

The Hash Cracker Tool is a command-line application designed for hash analysis and cracking. It supports multiple hash types (MD5, SHA1, SHA256, SHA384, SHA512) and utilizes multi-threading for efficient processing. This tool is particularly useful for password recovery, security testing, and educational purposes in understanding hash functions and cryptography.

Technical Description⚙️

The Hash Cracker implements several key technical features:

  • Hash Type Detection: Automatically identifies hash types based on length:
hash_types = {
    32: "MD5",
    40: "SHA1",
    64: "SHA256",
    96: "SHA384",
    128: "SHA512"
}
  • Multi-threaded Processing: Utilizes Python's concurrent.futures for parallel processing:
with concurrent.futures.ThreadPoolExecutor(max_workers=args.threads) as executor:
    future_to_hash = {executor.submit(cracker.crack_hash, h): h for h in hashes}
  • Rate Limiting: Implements a custom rate limiter to prevent service overload:
class RateLimiter:
    def __init__(self, calls: int, period: float):
        self.calls = calls
        self.period = period
        self.timestamps = []

Technologies Used💻

  • Python 3.x:

    • Object-oriented programming structure
    • Type hints for better code maintainability
    • Exception handling for robust operation
  • Standard Libraries:

    • concurrent.futures for multi-threading
    • argparse for command-line argument parsing
    • re for regular expression operations
  • File Operations:

    • Local file reading and writing
    • Result storage and retrieval
    • Hash pattern matching

Main Features🌟

  • Multiple Hash Support:

    • MD5 (32 characters)
    • SHA1 (40 characters)
    • SHA256 (64 characters)
    • SHA384 (96 characters)
    • SHA512 (128 characters)
  • Processing Options:

    • Single hash processing
    • Bulk file processing
    • Multi-threaded operation
    • Verbose output mode
  • User Experience:

    • Colored output for better readability
    • Progress tracking
    • Success rate calculation
    • Detailed error reporting

Use Cases🔍

  • Security Testing:

    • Password recovery
    • Hash analysis
    • Security audit support
  • Educational Purposes:

    • Understanding hash functions
    • Learning about cryptography
    • Studying password security
  • Development Support:

    • Testing hash implementations
    • Debugging hash-related issues
    • Performance benchmarking

Results and Insights📝

Key learnings from the development process:

  • Performance Optimization:

    • Multi-threading importance
    • Rate limiting necessity
    • File I/O optimization
  • Hash Processing:

    • Pattern recognition
    • Type identification
    • Result validation
  • Error Handling:

    • File access issues
    • Invalid hash formats
    • Network timeouts

Possible Improvements🚀

  • Enhanced Functionality:

    • Additional hash algorithms support
    • Rainbow table integration
    • GPU acceleration
    • Online API integration
  • User Interface:

    • GUI implementation
    • Web interface
    • Progress bars
    • Real-time statistics
  • Performance Improvements:

    • Optimized hash detection
    • Improved threading model
    • Memory usage optimization
    • Caching system
  • Additional Features:

    • Custom wordlist support
    • Hash generation capabilities
    • Result export formats
    • Password pattern analysis