Skip to content

zencrypt-tech/zencrypt-cli-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Zencrypt CLI Python

By: Ryan Hatch / Zencrypt Tech
Keeping It Simple and Secure.

OverviewFeaturesRequirementsInstallationUsageCryptography NotesBuildContributingDisclaimerLicense


© 2026 Ryan Hatch / Zencrypt Tech
All Rights Reserved.


Overview

Zencrypt CLI Python is a terminal-based encryption and hashing tool from the Zencrypt Tech project family.

This CLI is designed to provide a simple local interface for generating and verifying SHA-256 hashes, encrypting and decrypting text, encrypting and decrypting files, and testing basic RSA message encryption workflows.

This repository is the Python CLI version of Zencrypt. It is intended for learning, experimentation, and local encryption workflows.


Features

  • Hash generation using the SHA-256 hashing algorithm with an optional salt value.
  • Hash verification by comparing provided text and salt input against a known hash.
  • Encrypt and decrypt text using Fernet symmetric encryption.
  • Encrypt and decrypt files with password-derived AES encryption.
  • RSA message encryption using RSA-OAEP through Python's cryptography library.
  • Public key export and import for RSA public keys.
  • Copy output to the clipboard.
  • Clear content from the clipboard.

Requirements

Python 3.10+ is recommended.

Required runtime packages:

cryptography
pyperclip

Recommended requirements.txt:

cryptography>=41.0.4
pyperclip>=1.8.2

If you build a Windows executable with PyInstaller, keep that dependency separate in requirements-dev.txt.

Recommended requirements-dev.txt:

pyinstaller>=6.0.0

Installation

To install Zencrypt CLI Python, you will need Python and pip installed on your system.

  1. Clone the repository:
    git clone https://github.com/zencrypt-tech/zencrypt-cli-python.git
  2. Navigate into the project folder:
    cd zencrypt-cli-python
  3. Optional but recommended: create a virtual environment.

    Windows PowerShell:
    python -m venv .venv
    .\.venv\Scripts\Activate.ps1
    macOS/Linux:
    python3 -m venv .venv
    source .venv/bin/activate
  4. Install the required dependencies:
    pip install -r requirements.txt

Usage

Run the application with:

python zencrypt.py

Follow the on-screen prompts to perform the desired operation.

Main Menu

1 | Hash Manager
2 | Encrypt Text
3 | Encrypt Files
4 | PGP/RSA Encryption
5 | Clear Clipboard
6 | Exit

Cryptography Notes

This project is a learning-focused CLI and should be treated as a local utility, not a production-grade security product.

  • Text encryption uses Fernet symmetric encryption.
  • File encryption uses password-derived AES encryption.
  • RSA message encryption uses RSA-OAEP through Python's cryptography library.
  • The RSA feature is not full OpenPGP compatibility, even if older project text refers to it as PGP.
  • Local key files should be protected and excluded from version control.

Planned Improvements

  • AES-GCM or Fernet-based authenticated file encryption.
  • Better key management.
  • Cleaner import and export workflows.
  • Dedicated tests.
  • Packaged releases through GitHub Releases instead of committed executables.

Suggested Project Structure

zencrypt-cli-python/
├── README.md
├── LICENSE
├── requirements.txt
├── requirements-dev.txt
├── .gitignore
└── zencrypt.py

Building an Executable

If PyInstaller is installed through requirements-dev.txt, you can build a local executable with:

pyinstaller --onefile zencrypt.py

Build output should remain local and should not be committed to the source repository.

If you want to distribute an executable, attach it to a GitHub Release instead.


Contributing

Please reach out to verify and validate ideas and contributions before continuing any further. Although contributions may be welcome, they should stay focused on the Python CLI version of Zencrypt.

Recommended workflow:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Make your changes.
  4. Confirm that no keys, secrets, generated files, executables, or local test files are included.
  5. Commit your changes:
    git commit -m "Add your feature"
  6. Push to the branch:
    git push origin feature/your-feature-name
  7. Open a pull request.

Disclaimer

<=> <=> <=> <=> <=> <=> <=>

This script is provided for educational and demonstration purposes only. Use it responsibly and only on files, messages, and systems that you own or are authorized to work with.

The project maintainer is not responsible for data loss, misuse, damage, or improper use of this software.

<=> <=> <=> <=> <=> <=> <=>


License

This software is the property of the copyright holder and is protected by copyright laws. All rights are reserved by the copyright holder unless explicitly granted in writing.

The copyright holder grants no implied or express license for the use, copying, modification, distribution, or reproduction of this software, in whole or in part, without prior written permission from the copyright holder, unless a separate license file states otherwise.

Any unauthorized use, copying, modification, distribution, or reproduction of this software, in whole or in part, is strictly prohibited and may constitute a violation of copyright law.

By using this software, you acknowledge that you have read and understood the terms of this license and agree to comply with all applicable laws.


Contact

For inquiries, suggestions, or project-related questions, contact the project maintainer through the Zencrypt Tech organization or open a GitHub issue.


Zencrypt Tech
Keeping It Simple and Secure.

About

No description, website, or topics provided.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.mp3

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages