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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2459342e04657d3909d7ba49a4cb4f7af1f3f8d4a3a84068c7f1ab6feee033a
|
|
| MD5 |
f4c3aadcea6e1bba964f8f542fb5b9c9
|
|
| BLAKE2b-256 |
f10d88b8bc9abf693fcb8ac2a953c4eb0cd6162c16ac08392403de4c4bbab4d3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68ca5bcf7e436d17b549a9d2c1fdc449f7e0a914c2315b6c9106a8310b76954f
|
|
| MD5 |
8b42eaf86998b316639e7b33a7d53c27
|
|
| BLAKE2b-256 |
3899a83140eccc246e58bddc4f2257dd72e8b791f285160a05541a557cbe2e27
|