An open API service indexing awesome lists of open source software.

https://github.com/robcyberlab/crypt-hash-cracker

🔗Crypt Hash Cracker🧩
https://github.com/robcyberlab/crypt-hash-cracker

crypto-analysis cryptography ctf-tools cyber-programming cyber-tools cybersecurity cybersecurity-tools data-protection ethical-hacking hashing

Last synced: 12 days ago
JSON representation

🔗Crypt Hash Cracker🧩

Awesome Lists containing this project

README

        

# 🔗Crypt Hash Cracker🧩

## Table of Contents
1. [Introduction](#introduction)
2. [Technical Description](#technical-description)
3. [Technologies Used](#technologies-used)
4. [Main Features](#main-features)
5. [Use Cases](#use-cases)
6. [Results and Insights](#results-and-insights)
7. [Possible Improvements](#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:
```python
hash_types = {
32: "MD5",
40: "SHA1",
64: "SHA256",
96: "SHA384",
128: "SHA512"
}
```

- **Multi-threaded Processing**: Utilizes Python's concurrent.futures for parallel processing:
```python
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:
```python
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