A command-line utility to encode messages, built with Click (Python 3).
This project is created for learning about command-line application development and practicing the implementation of encoding algorithms. This project is NOT meant for production and hasn't been tested thoroughly.
git clone git@github.com:AjitZero/Scram-CLI.git
cd Scram-CLI
pip install .
Tested on Ubuntu 18.04 LTS
and Windows 10
.
git clone git@github.com:AjitZero/Scram-CLI.git
cd Scram-CLI
python3 -m venv env
source env/bin/activate
pip install --editable .
To exit the Virtual Environment, simply enter deactivate
.
Usage: scram [OPTIONS]
scram encodes/encrypts the entered string depending on the chosen
algorithm. Ignores non-alphabets.
Options:
-h, --hash-type [affine|ascii|atbash|binary|caeser|morse|none|polybius-square|reverse|reverse-words|vignere]
Choose algorithm.
-v, --version Show current version.
--help Show this message and exit.
$ scram -h caeser
Enter your message to be encoded: AjitZero
Enter offset: 5
Output: FonyEjwt
Copy result to clipboard? [y|n]: y
Copied to clipboard successfully.
$ scram -h morse
Enter your message to be encoded: Ajit Zero
Output: .- .--- .. - / --.. . .-. ---
Copy result to clipboard? [y|n]: n
Command terminated normally.
All existing encoding algorithms require a corresponding decoder function. Have at it if you're interested!
- Fork it.
- Create your feature branch. (
git checkout -b feature/yourfeature
) - Commit your changes. (
git commit -am 'Add some yourfeature'
) - Push to the branch. (
git push origin feature/yourfeature
) - Create a new Pull Request and link an issue with it.
Topic | Reference | Link |
---|---|---|
Affine cipher | Wikipedia | Source |
ASCII code | Wikipedia | Source |
Atbash cipher | Wikipedia | Source |
Book cipher | Wikipedia | Source |
Caesar cipher | Wikipedia | Source |
Morse code | GeeksForGeeks | Source |
Polybius Square | Wikipedia | Source |
Vigenère cipher | Wikipedia | Source |
Ajit Panigrahi – @AjitZero – Ping me on Twitter or Email me for any queries.
Distributed under the MIT License. See LICENSE
for more information.