By: Ryan Hatch / Zencrypt Tech
Keeping It Simple and Secure.
Overview • Features • Requirements • Installation • Usage • Cryptography Notes • Build • Contributing • Disclaimer • License
© 2026 Ryan Hatch / Zencrypt Tech
All Rights Reserved.
Zencrypt CLI Java is a terminal-based encryption and hashing tool from the Zencrypt Tech project family.
This CLI provides a simple local interface for generating and verifying SHA-256 hashes, encrypting and decrypting text, encrypting and decrypting files, copying output, and clearing clipboard content.
This repository is the Java CLI version of Zencrypt. It is intended for learning, experimentation, and local encryption workflows while keeping the interface simple, direct, and command-line focused.
- 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 AES symmetric encryption.
- Encrypt and decrypt files with AES-based file encryption.
- Copy output to the clipboard for easier terminal workflows.
- Clear content from the clipboard after sensitive operations.
- Local-first design for running encryption and hashing tasks directly from the user's machine.
Java Development Kit 8+ is recommended.
Confirm Java and the Java compiler are available from your terminal:
java -version
javac -versionRecommended tools:
- JDK 8 or newer
- Git
- Windows Command Prompt, PowerShell, macOS Terminal, or a Linux shell
To install Zencrypt CLI Java, you will need Java and Git installed on your system.
-
Clone the repository:
git clone https://github.com/zencrypt-tech/zencrypt-cli-java.git -
Navigate into the project folder:
cd zencrypt-cli-java -
Compile the Java source file:
javac Zencrypt.java
Run the application with:
java ZencryptFollow the on-screen prompts to perform the desired operation.
1 | Hash Manager
2 | Encrypt Text
3 | Encrypt Files
4 | Clear Clipboard
5 | ExitThe Hash Manager provides SHA-256 hashing workflows for generating and checking hashes from the terminal.
- Enter text input.
- Add an optional salt value.
- Generate a SHA-256 hash.
- Compare generated output against a known hash value.
SHA-256 is a one-way hashing algorithm. It is useful for checksums, fingerprints, verification exercises, and learning how fixed-length hash output works.
The text encryption workflow allows users to encrypt and decrypt text directly from the terminal using AES symmetric encryption.
- Choose the text encryption option from the menu.
- Enter the plaintext message.
- Provide the required encryption input when prompted.
- Copy or save the encrypted output.
- Use the matching decryption workflow to restore the plaintext.
The file encryption workflow allows users to encrypt and decrypt local files from the command line.
- Choose the file encryption option from the menu.
- Enter the target file path.
- Provide the required encryption input when prompted.
- Save the encrypted file output.
- Use the matching decryption workflow to restore the file.
Keep backup copies of important files before testing encryption or decryption workflows.
This project is a learning-focused CLI and should be treated as a local utility.
- SHA-256 hashes are one-way values used for hashing and verification.
- Text encryption uses AES symmetric encryption.
- File encryption uses AES-based local file encryption.
- AES is symmetric, so the same secret or derived key material is required to decrypt what was encrypted.
- Local keys, passwords, generated secrets, and sensitive test files should be protected and excluded from version control.
- Cleaner key handling.
- Dedicated test files.
- Clearer file input and output naming.
- Packaged releases through GitHub Releases.
- Expanded Java documentation for future versions.
zencrypt-cli-java/
├── README.md
├── LICENSE
├── .gitignore
└── Zencrypt.javaBuild the project locally with:
javac Zencrypt.javaRun the compiled class with:
java ZencryptIf a future version uses Gradle, Maven, or packaged release artifacts, keep generated build output separate from the source repository and attach distributable files to GitHub Releases.
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 Java CLI version of Zencrypt.
Recommended workflow:
- Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name - Make your changes.
- Confirm that no keys, secrets, generated files, executables, or local test files are included.
-
Commit your changes:
git commit -m "Add your feature" -
Push to the branch:
git push origin feature/your-feature-name - Open a pull request.
<=> <=> <=> <=> <=> <=> <=>
This program 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.
<=> <=> <=> <=> <=> <=> <=>
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.
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.