CryptoMaster is a powerful and user-friendly command-line utility designed for cryptographic operations. This robust toolkit provides a comprehensive suite of functions for hashing, encoding/decoding, and encryption/decryption, serving as an essential resource for security professionals, developers, and enthusiasts.
- MD5 - Fast hash function (not recommended for security-critical applications)
- Bcrypt - Strong password hashing with salt and adjustable complexity
- RIPEMD-160 - 160-bit cryptographic hash function
- SHA-1 - 160-bit hash function (legacy, not recommended for security-critical applications)
- SHA-224 - 224-bit hash function from the SHA-2 family
- SHA-256 - 256-bit hash function from the SHA-2 family
- SHA-384 - 384-bit hash function from the SHA-2 family
- SHA-512 - 512-bit hash function from the SHA-2 family
- Base64 - Standard encoding for binary data
- URL - Safe character encoding for URLs
- HTML - Encoding for HTML entities
- AES - Advanced Encryption Standard with secure key derivation
- Python 3.7 or higher
- pip (Python package installer)
-
Clone the repository or download the source code:
git clone https://github.com/rahmansec/CryptoMaster.git cd CryptoMaster -
Create a virtual environment (optional but recommended):
python -m venv .venv # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
To launch the CryptoMaster application with its interactive menu:
python CryptoMaster.pyYou'll be presented with a menu of options to choose from.
You can also import and use CryptoMaster functions directly in your Python projects:
# Import the classes you need
from CryptoFunctions import Hashs_Class, Encode_Class, Decrypt_Class
# Hash example
hasher = Hashs_Class()
hash_result = hasher.sha256("password123", salt="mysalt")
print(f"SHA-256 Hash: {hash_result}")
# Encoding example
encoder = Encode_Class()
encoded = encoder.base64_encode("Hello, World!")
print(f"Base64 Encoded: {encoded}")
# Encryption example
from CryptoFunctions import Encrypt_Class
encryptor = Encrypt_Class()
encrypted = encryptor.AES_encrypt("Sensitive data", "secure_password")
print(f"AES Encrypted: {encrypted}")md5(text, salt="")- Generates MD5 hashbcrypt(text, rounds=12, prefix="2b")- Generates Bcrypt hashripemd(text, salt="")- Generates RIPEMD-160 hashsha1(text, salt="")- Generates SHA-1 hashsha224(text, salt="")- Generates SHA-224 hashsha256(text, salt="")- Generates SHA-256 hashsha384(text, salt="")- Generates SHA-384 hashsha512(text, salt="")- Generates SHA-512 hash
base64_encode(text)- Encodes text to Base64url_encode(text)- URL encodes texthtml_encode(text)- HTML encodes text
base64_decode(encoded_text)- Decodes Base64 texturl_decode(encoded_text)- Decodes URL encoded texthtml_decode(encoded_text)- Decodes HTML encoded text
AES_encrypt(input, password)- Encrypts text using AES
AES_decrypt(ciphertext, password)- Decrypts AES encrypted text
- MD5 and SHA-1 are provided for compatibility purposes but should not be used for security-critical applications as they have known vulnerabilities.
- For password storage, Bcrypt is recommended due to its built-in salt and computational cost settings.
- For general secure hashing, consider using SHA-256 or stronger.
- When using AES encryption, use strong, unique passwords to ensure data security.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- PyCryptodome for cryptographic primitives
- Rich for beautiful terminal output
- Typer for CLI features
