Convert Figma logo to code with AI

s0md3v logoHash-Buster

Crack hashes in seconds.

1,720
391
1,720
23

Top Related Projects

20,838

World's fastest and most advanced password recovery utility

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

A tool for automating cracking methodologies through Hashcat from the TrustedSec team.

17,760

⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡

🔗 Don't know what type of hash it is? Name That Hash will name that hash type! 🤖 Identify MD5, SHA256 and 300+ other hashes ☄ Comes with a neat web app 🔥

Quick Overview

Hash-Buster is a Python tool designed for cracking hashes using online services. It supports various hash types and utilizes multiple online databases to increase the chances of finding a match. The tool is intended for educational purposes and security testing.

Pros

  • Supports multiple hash types (MD5, SHA1, SHA256, etc.)
  • Uses several online databases to improve success rate
  • Simple and user-friendly command-line interface
  • Open-source and actively maintained

Cons

  • Relies on external online services, which may have limitations or downtime
  • May not be suitable for cracking large volumes of hashes
  • Effectiveness depends on the hash being present in online databases
  • Potential legal and ethical concerns if used improperly

Code Examples

# Example 1: Basic usage
from hash_buster import HashBuster

hb = HashBuster()
result = hb.crack("5f4dcc3b5aa765d61d8327deb882cf99")
print(result)  # Output: password
# Example 2: Specifying hash type
from hash_buster import HashBuster

hb = HashBuster()
result = hb.crack("5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8", hash_type="sha1")
print(result)  # Output: password
# Example 3: Using multiple databases
from hash_buster import HashBuster

hb = HashBuster(databases=["md5decrypt", "nitrxgen", "hashkiller"])
result = hb.crack("e10adc3949ba59abbe56e057f20f883e")
print(result)  # Output: 123456

Getting Started

To use Hash-Buster, follow these steps:

  1. Install the library:

    pip install hash-buster
    
  2. Import and use in your Python script:

    from hash_buster import HashBuster
    
    hb = HashBuster()
    result = hb.crack("your_hash_here")
    print(result)
    
  3. For command-line usage:

    hash-buster -s <hash>
    

Note: Always use this tool responsibly and only on systems you have permission to test.

Competitor Comparisons

20,838

World's fastest and most advanced password recovery utility

Pros of hashcat

  • Highly optimized for GPU-based cracking, offering superior performance
  • Supports a vast array of hash types and attack modes
  • Actively maintained with regular updates and improvements

Cons of hashcat

  • Steeper learning curve, especially for beginners
  • Requires more system resources and potentially specialized hardware
  • Command-line interface may be less user-friendly for some users

Code Comparison

Hash-Buster:

def crack(hash):
    result = requests.get('https://md5decrypt.net/en/Api/api.php?hash=%s&hash_type=md5&email=deanna_abshire@proxymail.eu&code=1152464b80a61728' % hash).text
    if len(result) != 0:
        return result
    return False

hashcat:

hashcat -m 0 -a 0 hash.txt wordlist.txt

Hash-Buster is a Python-based tool that uses online APIs to crack hashes, while hashcat is a C-based tool that performs local cracking using various attack modes. Hash-Buster's code snippet shows a simple API request for MD5 cracking, whereas hashcat's example demonstrates a basic command-line usage for dictionary-based attacks.

Hash-Buster is more straightforward for quick, simple hash cracking tasks, especially for beginners. It relies on online services, which can be both an advantage (no local resources needed) and a limitation (dependent on API availability and rate limits).

hashcat, on the other hand, offers more flexibility and power for advanced users, supporting a wide range of hash types and attack methods. It's particularly suited for large-scale cracking operations and can leverage GPU acceleration for improved performance.

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

Pros of John the Ripper

  • More comprehensive and feature-rich password cracking tool
  • Supports a wider range of hash types and encryption algorithms
  • Actively maintained with regular updates and a large community

Cons of John the Ripper

  • Steeper learning curve and more complex to use
  • Requires more system resources and can be slower for simple hash cracking tasks

Code Comparison

Hash-Buster:

def crack(hash):
    for algorithm in algorithms:
        if len(hash) == len(algorithm['example']):
            return algorithm['name']
    return None

John the Ripper:

static int crypt_all(int *pcount, struct db_salt *salt)
{
    const int count = *pcount;
    int index;

#ifdef _OPENMP
#pragma omp parallel for
#endif
    for (index = 0; index < count; index++)
    {
        // Cracking logic here
    }
    return count;
}

Hash-Buster is a simpler Python script focused on identifying hash types, while John the Ripper is a more complex C program designed for efficient password cracking across multiple threads.

9,984

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs

Pros of John the Ripper

  • More comprehensive and feature-rich password cracking tool
  • Supports a wider range of hash types and encryption algorithms
  • Actively maintained with regular updates and a large community

Cons of John the Ripper

  • Steeper learning curve and more complex to use
  • Requires more system resources and can be slower for simple hash cracking tasks

Code Comparison

Hash-Buster:

def crack(hash):
    for algorithm in algorithms:
        if len(hash) == len(algorithm['example']):
            return algorithm['name']
    return None

John the Ripper:

static int crypt_all(int *pcount, struct db_salt *salt)
{
    const int count = *pcount;
    int index;

#ifdef _OPENMP
#pragma omp parallel for
#endif
    for (index = 0; index < count; index++)
    {
        // Cracking logic here
    }
    return count;
}

Hash-Buster is a simpler Python script focused on identifying hash types, while John the Ripper is a more complex C program designed for efficient password cracking across multiple threads.

A tool for automating cracking methodologies through Hashcat from the TrustedSec team.

Pros of hate_crack

  • More comprehensive password cracking toolkit with multiple attack modes
  • Supports advanced features like rule-based attacks and mask attacks
  • Integrates with external tools like hashcat for enhanced functionality

Cons of hate_crack

  • More complex setup and usage compared to Hash-Buster
  • Requires additional dependencies and external tools
  • Less focused on online hash cracking services

Code Comparison

Hash-Buster:

def crack(hash):
    for api in apis:
        response = requests.get(api.format(hash)).text
        if len(response) > 0 and response != hash:
            return response
    return False

hate_crack:

def hate_crack(hash_file, rule_file):
    cmd = f"hashcat -m {hash_type} -r {rule_file} {hash_file} {wordlist}"
    subprocess.run(cmd, shell=True)
    parse_output()

Hash-Buster focuses on querying online APIs for hash cracking, while hate_crack utilizes local tools like hashcat for more advanced cracking techniques. Hash-Buster is simpler and easier to use for basic hash cracking, while hate_crack offers more flexibility and power for complex password cracking tasks.

17,760

⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡

Pros of Ciphey

  • Broader scope: Ciphey can decode various encryption types, not just hashes
  • Automated approach: Uses AI and natural language processing to detect and crack ciphers
  • Active development: More recent updates and larger community involvement

Cons of Ciphey

  • More complex setup: Requires additional dependencies and may be harder to install
  • Potentially slower for simple hash cracking tasks
  • Larger codebase: May be more difficult to understand and contribute to

Code Comparison

Hash-Buster:

def crack(hash):
    global cracked
    try:
        result = requests.get('http://hashtoolkit.com/reverse-hash/?hash=' + hash).text
        match = search(r'/generate-hash/?text=.*?"', result)
        if match:
            cracked = match.group().split('text=')[1][:-1]
            return cracked
    except:
        pass

Ciphey:

def decrypt(self, text: str) -> Optional[str]:
    result = self.call_api(text)
    if result is None:
        return None
    return self.handle_api_response(result)

The code snippets show that Hash-Buster focuses on a specific online hash cracking method, while Ciphey uses a more abstract approach, potentially calling various APIs for different cipher types.

🔗 Don't know what type of hash it is? Name That Hash will name that hash type! 🤖 Identify MD5, SHA256 and 300+ other hashes ☄ Comes with a neat web app 🔥

Pros of Name-That-Hash

  • More comprehensive hash identification capabilities, supporting a wider range of hash types
  • Actively maintained with regular updates and improvements
  • Provides a user-friendly CLI interface with colorful output

Cons of Name-That-Hash

  • Slower execution time for hash identification compared to Hash-Buster
  • Requires additional dependencies, which may increase setup complexity
  • Lacks built-in cracking functionality, focusing primarily on hash identification

Code Comparison

Name-That-Hash:

from name_that_hash import runner
hash_info = runner.api_return_hashes_as_json(["5f4dcc3b5aa765d61d8327deb882cf99"])
print(hash_info)

Hash-Buster:

from hashbuster import HashBuster
hb = HashBuster()
result = hb.crack("5f4dcc3b5aa765d61d8327deb882cf99")
print(result)

Both tools aim to identify and/or crack hashes, but they differ in their approach and functionality. Name-That-Hash focuses on accurate hash identification across a wide range of types, while Hash-Buster combines identification with cracking capabilities. Name-That-Hash offers a more modern and actively maintained codebase, but Hash-Buster provides a simpler, all-in-one solution for both identifying and cracking hashes.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


Hash Buster
Hash Buster

Why crack hashes when you can bust them?

demo

Features

  • Automatic hash type identification
  • Supports MD5, SHA1, SHA256, SHA384, SHA512
  • Can extract & crack hashes from a file
  • Can find hashes from a directory, recursively
  • Multi-threading

Insallation & Usage

Note: Hash Buster isn't compatible with python2, run it with python3 instead. Also, Hash-Buster uses some APIs for hash lookups, check the source code if you are paranoid.

Hash-Buster can be run directly from the python script but I highly suggest you to install it with make install

After the installation, you will be able to access it with buster command.

Cracking a single hash

You don't need to specify the hash type. Hash Buster will identify and crack it under 3 seconds.

Usage: buster -s <hash>

Finding hashes from a directory

Yep, just specify a directory and Hash Buster will go through all the files and directories present in it, looking for hashes.

Usage: buster -d /root/Documents

Cracking hashes from a file

Hash Buster can find your hashes even if they are stored in a file like this

simple@gmail.com:21232f297a57a5a743894a0e4a801fc3
{"json@gmail.com":"d033e22ae348aeb5660fc2140aec35850c4da997"}
surrondedbytext8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918surrondedbytext

Usage: buster -f /root/hashes.txt

Specifiying number of threads

Multi-threading can incredibly minimize the overall speed when you have a lot of hashes to crack by making requests in parallel.

buster -f /root/hashes.txt -t 10

License

Hash-Buster is licensed under MIT License.