Skip to main content

A simple Yescrypt hash cracker by Manju

Project description

mkcrack 🔐

A Python tool for educational password cracking using Yescrypt hashes.
Learn how password hashing works, test password strength, and understand the importance of strong password choices.

⚠️ Disclaimer: This tool is for educational purposes only. Do not use it for unauthorized access, hacking, or illegal activities. Always test on your own systems and stay ethical.


🧊 What is Yescrypt?

✅ Yescrypt is an advanced password hashing algorithm used in modern Linux systems.
✅ It slows down brute-force attacks using CPU and memory-intensive operations.
✅ It incorporates salts and is resistant to side-channel and timing attacks.

In short:
🛡️ Yescrypt protects your passwords, but strong passwords are still essential.


🚀 Installation

Install the library via pip:

pip install mkcrack

📖 Usage Steps

Follow these steps to test cracking a Yescrypt hash:

1️⃣ Find Your Yescrypt Hash

Open a terminal in your Linux system.

Use the following command to safely view your hash (replace yourusername with your actual username):

sudo grep '^yourusername:' /etc/shadow

The output will look like this:

yourusername:$y$j9T$jtPDS9VZ13n3wXmFOvYIG1$HCmUaqmBK.3U2H2MtN9audXFbBUwvunR01ghnKoGF/9:...

🔒 In Linux systems, user login passwords are not stored in plaintext (for security reasons). Instead, they are stored in hashed form (scrambled using algorithms like Yescrypt, SHA-512, etc.).


Copy the part starting with $y$ — this is your Yescrypt hash.

2️⃣ Create a Wordlist Create a file named mywords.txt in your project directory.

Add possible password guesses (one per line):

nginx
Copy
Edit
nginx
password123
letmein
supersecure
mypassword

This is your dictionary for guessing.

3️⃣ Create the Python Script Create a new Python file named myfunc.py.

Add the following code:

from mkcrack import cracker 

# Replace this with your actual Yescrypt hash
stored_hash = '$y$j9T$jtPDS9VZ13n3wXmFOvYIG1$HCmUaqmBK.3U2H2MtN9audXFbBUwvunR01ghnKoGF/9'

# Path to your wordlist file
wordlist_path = 'mywords.txt'

# Attempt to crack the hash
password = cracker.crack_yescrypt(stored_hash, wordlist_path)

if password:
    print(f"Cracked password: {password}")
else:
    print("Password not found in the wordlist.")

4️⃣ Run the Script In your terminal, execute the script:

python3 myfunc.py

If the password is in your wordlist, you’ll see:

Cracked password: letmein

Otherwise:

Password not found in the wordlist.

⚠️ Why You Should NEVER Share Your Password Hash Even though a hash looks scrambled, sharing it can be risky:

Attackers can attempt offline brute-force attacks.

Weak passwords can be cracked quickly.

Hash reuse risk:

Cracking one hash can compromise multiple accounts.

Targeted attacks become easier with your hash in hand.

👉 Treat your password hash like a secret key—never share it publicly.

📚 Final Thoughts

✅ Yescrypt is strong, but password security is a team effort:

Use strong, unique passwords.

Configure your system properly.

Understand how hashes work.

Stay safe, stay ethical, and use this knowledge for good! ✨

🌟 Want to contribute?

Feel free to open issues, suggest features, or submit pull requests.

Let’s learn and grow together!


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

mkcrack-0.1.2.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

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

mkcrack-0.1.2-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file mkcrack-0.1.2.tar.gz.

File metadata

  • Download URL: mkcrack-0.1.2.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for mkcrack-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c2459342e04657d3909d7ba49a4cb4f7af1f3f8d4a3a84068c7f1ab6feee033a
MD5 f4c3aadcea6e1bba964f8f542fb5b9c9
BLAKE2b-256 f10d88b8bc9abf693fcb8ac2a953c4eb0cd6162c16ac08392403de4c4bbab4d3

See more details on using hashes here.

File details

Details for the file mkcrack-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mkcrack-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for mkcrack-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 68ca5bcf7e436d17b549a9d2c1fdc449f7e0a914c2315b6c9106a8310b76954f
MD5 8b42eaf86998b316639e7b33a7d53c27
BLAKE2b-256 3899a83140eccc246e58bddc4f2257dd72e8b791f285160a05541a557cbe2e27

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