This СLI app works with the Caesar cipher. This is one of the simplest and most famous encryption methods.
🛠️ Program functionality:
- Text encryption using a specific key
- Text encryption using a random key
- Decrypting text using a specific key
- Decrypting text using brute force (searching through all options)
- (not yet implemented) Decrypting text using statistical text analysis
So, the program opens a text file specified by the user and performs one of the above actions with it, then a new file with the result is created in the same directory.
✨ Other features:
- SOLID principles usage
- Design patterns usage: Factory, Command, Template method, Singleton
- Unit testing
Created by Lev Nagornov.
-
Clone the repository using:
git clone git@github.com:levnagornov/crypto-cli.git
-
Install Java if needed:
sudo apt update sudo apt install default-jdk java -version
-
Download and install Maven
-
Build the project
cd crypto-cli mvn package
-
Run the app
java -jar target/crypto-cli-1.0-SNAPSHOT.jar
- Start the app.
- Select options by typing number and hit enter to confirm
- Provide an encrypted file
- Check result
PRs accepted.
Small note: If editing the Readme, please conform to the standard-readme specification.