Giter VIP home page Giter VIP logo

vigenere-cipher's Introduction

Vigenère Cipher

Logo

GitHub license

🔐📊🚀

Live

:: Workflow ::

Web Demo

WebDemo.mp4

Terminal Demo

TerminalDemo.mp4

Table of Contents

About

The Vigenère Cipher is a simple web-based tool that allows users to perform both encryption and decryption using the Vigenère cipher. The Vigenère cipher is a classical method of encrypting alphabetic text by using a simple form of polyalphabetic substitution.

This project provides a user-friendly interface for entering plaintext and keys and visualizes the encryption and decryption processes with animated transitions. The web app supports Japanese and English languages and provides a smooth user experience.

Features

  • Perform Vigenère encryption on input text with a key.
  • Perform Vigenère decryption on encrypted text with the same key.
  • Visualize the encryption and decryption processes with animations.
  • Support for Japanese and English languages, with a language switch feature.
  • Responsive design for various screen sizes.
  • Easy integration with server-side logic for encryption and decryption.

Getting Started

Prerequisites

  • Web browser (e.g., Chrome, Firefox, Safari)
  • Python3
  • Modules (flask, time, colorama, argparse, sys, random)

Run

webserver

  1. Clone the repository:
   git clone https://github.com/sky9262/Vigenere-Cipher.git
  1. Navigate to the project directory:
    cd Vigenere-Cipher
  1. Run the following command:
    py app.py
  1. Enjoy !!!

Api

For Japanese Encryption:

https://vigenerecipher.pythonanywhere.com/encrypt?lang=jp&text=日本が本当に好きですよ&key=そら

For English Encryption:

https://vigenerecipher.pythonanywhere.com/encrypt?lang=en&text=I Really Love Japan!!!&key=sky

Here lang, text and key are parameters :

  • lang --> Plain text language (en/eng/english or jp/jap/japanese)
  • text --> Input text (plain text / encrypted text)
  • key --> Key
  • you can also specify response type json or plaintext:
http://127.0.0.1:5000/encrypt?lang=jp&text=日本が本当に好きですよ&key=そら&type=json

terminal

  1. Clone the repository:

    git clone https://github.com/sky9262/Vigenere-Cipher.git
    
  2. Navigate to the project directory:

    cd Vigenere-Cipher
    
  3. Run the following command:

    #for japanese
    py JP_Vigenère_Cipher.py
    
          #OR
    
    #for english
    py EN_Vigenère_Cipher.py
    

One lineer

py JP_Vigenère_Cipher.py -o encrypt -t "Hello World, How are you?" -k thisismykey

Here -o, -t and -k are options :

  • -o --> Operation (encrypt / decrypt)
  • -t --> Input text (plain text / encrypted text)
  • -k --> Key

Usage

  1. Open the web app in your web browser.

  2. Choose the language (English or Japanese) using the language switch feature.

  3. Select the "Encryption" tab to encrypt plaintext or the "Decryption" tab to decrypt text.

  4. Enter the input text in the "Plain Text" or "Encrypted Text" field.

  5. Enter the encryption/decryption key in the "Key" field.

  6. Click the "Encrypt" or "Decrypt" button to initiate the process. The text transition will be visualized with animations.

  7. View the result in the "Encrypted Text" or "Plain Text" field, depending on whether you encrypted or decrypted the text.

License

This project is licensed under the MIT License, which means you can use and modify the code for your own purposes. Please see the License file for more details.


vigenere-cipher's People

Contributors

sky9262 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.