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.0.tar.gz (52.4 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.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file encryptocli-0.4.0.tar.gz.

File metadata

  • Download URL: encryptocli-0.4.0.tar.gz
  • Upload date:
  • Size: 52.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.3

File hashes

Hashes for encryptocli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c4050d5326093eb10c44b4cc84d0fcee9e6b6bb66cea97b27b1c1e5e57b4d1be
MD5 b40f7cab3ccad09c7082b0c486dcf964
BLAKE2b-256 e781f154b8f5292a371ac9c9631652fd12e3407dcb05a08748b94408a0266cfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for encryptocli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c956d93c34020491ee2879f3d390cf64777429fda01301361b4a140d65e89330
MD5 054e611389ca432dadd105e80f10ee4f
BLAKE2b-256 f4db1b6c7c1b77ca94d0a53c14283afe6bd22c959f52659c4084fcf3917e806c

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