Skip to main content

A command-line program for encrypting, decrypting, and hashing files

Project description

EncryptoCLI - By Arpan Pandey

EncryptoCLI Thumbnail

📚 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.First Image

Hashing

You can generate hashes for text or file data by selecting the algorithm from the 5 options provided: Hashing Image 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.

  1. Select the type of data you want to encrypt. Encrypt Type Selection
  2. Select the encryption method (AES or PGP)
  3. Input the data (either the text or path to a file). Encrypt Data Input
  4. For AES: Enter a password. For PGP: Enter recipient's email. Encrypt Data Password
  5. And you are done.

Decrypting

You can decrypt data by going through these steps.

  1. Select the type of data you want to decrypt. Decrypt Type Selection
  2. Select the decryption method (AES or PGP)
  3. Input the data (either the text or path to a file). Decrypt Data Input
  4. Enter the password or passphrase. Decrypt Data Password
  5. 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

  1. Select the type of data you want to encrypt.
  2. Select Image as output type
  3. Input path to the image where your secret will be hidden
  4. Enter the text/secret you want to encrypt and hide
  5. Enter a password.
  6. And you are done your secret has been hidden in the image named "encrypto.png"

Decrypt

  1. Select Image as the type of data you want to decrypt.
  2. Input path to the image file you want to decrypt.
  3. Enter the text/secret you want to encrypt and hide
  4. Enter the password.
  5. And you are done.

🐋 Docker

You can pull this image from Docker Hub and build it very easily.

  1. Just pull the image.
    docker pull arpanpandey/encrypto:latest
    

OR

  1. You can build the image using.

    docker build --pull --rm -f "Dockerfile" -t arpanpandey/encrypto:latest "."
    
  2. Running the container with the image (Be sure to put the -t and -d flag.)

    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

https://hackersreboot.tech/

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

encryptocli-0.4.1.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

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

encryptocli-0.4.1-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

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

Hashes for encryptocli-0.4.1.tar.gz
Algorithm Hash digest
SHA256 eb52498bc3a636a761371cb8d19acefe90917ab733a08fece73e48ff73c5cd1c
MD5 cd1be0660d1a616534940d37bd50f1f7
BLAKE2b-256 fefec6236b06a891971909789e5e1c56db5082f167c9d19baedfb770b55f608a

See more details on using hashes here.

File details

Details for the file encryptocli-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for encryptocli-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b72f21cab2be7ab2dcf573e1585b70ff09a96a8ee1619976d92b8994e359d09
MD5 824b1e28d2e4a22fbdcfd32e785bf710
BLAKE2b-256 bf36771c2b1fc3661dd23af524b54982f4a5504991517e4c418309d24cb9cdd0

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