A command-line program for encrypting, decrypting, and hashing files
Project description
EncryptoCLI - By Arpan Pandey
📚 Description
Encrypto CLI is a command-line program that provides you with an intuitive and easy-to-use program that allows for a highly efficient and customizable interface to generate hashes of files or encrypt them. This allows you to encrypt and decrypt files or text data using either Fernet (AES) or PGP encryption. This is powered by the Cryptography Module and python-gnupg.
Technologies Used
- Python3
- Cryptography Module (Fernet & PGP Encryption)
- python-gnupg (GPG/PGP Support)
- Hashing Module
- Termcolor
- InquirerPy
- Scrypt
✨ Features
Encryption Methods
- AES (Fernet): Symmetric encryption using passwords
- PGP: Asymmetric encryption using public/private keys
Operations
- Hashing: Generate cryptographic hashes (MD5, SHA256, SHA512, BLAKE2)
- Encryption: Protect your data with multiple cipher methods
- Decryption: Recover encrypted data
- Steganography: Hide encrypted data in images
How it works?
The idea is very simple. The program first asks you about which operation do you want to perform and then asks you 2-3 questions relative to which operation you have selected.
Hashing
You can generate hashes for text or file data by selecting the algorithm from the 5 options provided:
The five algorithms supported are:
- MD5
- SHA256
- SHA512
- BLAKE2
- BLAKE2b
Also, if you are interested in an analysis of these algorithms or implementing them by yourself you can head over to this article that I wrote on hashing.
Encrypting
You can encrypt data by going through these steps.
- Select the type of data you want to encrypt.
- Select the encryption method (AES or PGP)
- Input the data (either the text or path to a file).
- For AES: Enter a password. For PGP: Enter recipient's email.
- And you are done.
Decrypting
You can decrypt data by going through these steps.
- Select the type of data you want to decrypt.
- Select the decryption method (AES or PGP)
- Input the data (either the text or path to a file).
- Enter the password or passphrase.
- And you are done.
Steganography
You can encrypt and hide your data in an image using LSB (Least Significant Bit) or DCT (Frequency Domain) steganography methods. Both methods support PNG format for lossless embedding.
Encrypt
- Select the type of data you want to encrypt.
- Select Image as output type
- Input path to the image where your secret will be hidden
- Enter the text/secret you want to encrypt and hide
- Enter a password.
- And you are done your secret has been hidden in the image named "encrypto.png"
Decrypt
- Select Image as the type of data you want to decrypt.
- Input path to the image file you want to decrypt.
- Enter the text/secret you want to encrypt and hide
- Enter the password.
- And you are done.
🐋 Docker
You can pull this image from Docker Hub and build it very easily.
- Just pull the image.
docker pull arpanpandey/encrypto:latest
OR
-
You can build the image using.
docker build --pull --rm -f "Dockerfile" -t arpanpandey/encrypto:latest "."
-
Running the container with the image (Be sure to put the
-tand-dflag.)docker run -t -d arpanpandey/encrypto:latest
License
This project is licensed under the MIT License.
Video Demo
You can access the video demo at https://youtu.be/Zmf2EK9jPCw
Contributors 🏆🏆
MY BLOG
Thank You!
Thanks a lot to the team at CS50 for teaching me so much about the fascinating world of computer science and program.
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
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 encryptocli-0.4.1.tar.gz.
File metadata
- Download URL: encryptocli-0.4.1.tar.gz
- Upload date:
- Size: 53.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb52498bc3a636a761371cb8d19acefe90917ab733a08fece73e48ff73c5cd1c
|
|
| MD5 |
cd1be0660d1a616534940d37bd50f1f7
|
|
| BLAKE2b-256 |
fefec6236b06a891971909789e5e1c56db5082f167c9d19baedfb770b55f608a
|
File details
Details for the file encryptocli-0.4.1-py3-none-any.whl.
File metadata
- Download URL: encryptocli-0.4.1-py3-none-any.whl
- Upload date:
- Size: 30.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b72f21cab2be7ab2dcf573e1585b70ff09a96a8ee1619976d92b8994e359d09
|
|
| MD5 |
824b1e28d2e4a22fbdcfd32e785bf710
|
|
| BLAKE2b-256 |
bf36771c2b1fc3661dd23af524b54982f4a5504991517e4c418309d24cb9cdd0
|