Skip to content

ajitzero/scram-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scram CLI

forthebadge

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.

Installation

git clone git@github.com:AjitZero/Scram-CLI.git
cd Scram-CLI
pip install .

Development Setup

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.

Documentation


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.

Examples

$ 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.

Contributing

All existing encoding algorithms require a corresponding decoder function. Have at it if you're interested!

  1. Fork it.
  2. Create your feature branch. (git checkout -b feature/yourfeature)
  3. Commit your changes. (git commit -am 'Add some yourfeature')
  4. Push to the branch. (git push origin feature/yourfeature)
  5. Create a new Pull Request and link an issue with it.

Resources

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

Meta

Ajit Panigrahi – @AjitZero – Ping me on Twitter or Email me for any queries.

Distributed under the MIT License. See LICENSE for more information.