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.
Metadata
Release files for EncryptoCLI 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| encryptocli-0.4.1.tar.gz | 53.2 kB | Without provenance | Details for encryptocli-0.4.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| encryptocli-0.4.1-py3-none-any.whl | Python 3 | none | any | Details for encryptocli-0.4.1-py3-none-any.whl |
Total release size: 83.4 kB
Release files / encryptocli-0.4.1.tar.gz
| Download URL | encryptocli-0.4.1.tar.gz |
|---|---|
| Size | 53.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb52498bc3a636a761371cb8d19acefe90917ab733a08fece73e48ff73c5cd1c
|
|
BLAKE2b-256 checksum How to use checksums |
fefec6236b06a891971909789e5e1c56db5082f167c9d19baedfb770b55f608a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|
Release files / encryptocli-0.4.1-py3-none-any.whl
| Download URL | encryptocli-0.4.1-py3-none-any.whl |
|---|---|
| Size | 30.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b72f21cab2be7ab2dcf573e1585b70ff09a96a8ee1619976d92b8994e359d09
|
|
BLAKE2b-256 checksum How to use checksums |
bf36771c2b1fc3661dd23af524b54982f4a5504991517e4c418309d24cb9cdd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|
Security for EncryptoCLI 0.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.